我被要求在Apache上的localhost上使用自签名证书设置HTTPS,但我实际上如何做到这一点?我完全不知道。


当前回答

这很简单,

只需运行以下命令

sudo a2enmod ssl

sudo service apache2 restart

sudo a2ensite default-ssl.conf

就这样,你完成了。

如果你想强制使用SSL(总是使用https),编辑文件:

sudo nano /etc/apache2/sites-available/000-default.conf

加上这一行

<VirtualHost *:80>
        . . .

        Redirect "/" "https://your_domain_or_IP/"

        . . .
</VirtualHost>

然后重新启动

sudo service apache2 restart

其他回答

这适用于Windows 10和Apache24:

1 -将此添加到C:/Apache24/conf/httpd.conf的底部

Listen 443
<VirtualHost *:443>
    DocumentRoot "C:/Apache24/htdocs"
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "C:/Apache24/conf/ssl/server.crt"
    SSLCertificateKeyFile "C:/Apache24/conf/ssl/server.key"
</VirtualHost>

2—添加服务器。CRT和服务器。打开“C:/Apache24/conf/ssl”文件夹下的key文件。请参阅本页上的其他答案,以找到这两个文件。

就是这样!

为此我使用ngrok (https://ngrok.com/)。 Ngrok是一个命令行工具,用于为本地主机创建隧道。它同时创建http和https连接。 下载完成后,需要执行以下命令:

ngrok http 80

(在版本2中,语法是:ngrok http 80。在版本2中,任何端口都可以通过隧道。)

几秒钟后,它会给出两个url:

http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com

现在,两个url都指向localhost。

这应该是工作Ubuntu,薄荷类似于Apache2

这是一个很好的指南,所以遵循这个

https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04

然后像这样留下ssl。conf

<VirtualHost _default_:443>
        ServerAdmin your@email.com
        ServerName localhost
        ServerAlias www.localhost.com

        DocumentRoot /var/www


    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key

你可以得到它。

希望这对linuxer有帮助

博士tl;

ssh -R youruniquesubdomain:80:localhost:3000 serveo.net

您的本地环境可以从https://youruniquesubdomain.serveo.net访问

Serveo是最好的

没有注册。 没有安装。 HTTPS。 全球范围内访问。 您可以指定自定义修复子域。 你可以自己托管它,这样你就可以使用自己的域名,即使服务宕机,你也可以为未来做准备。

当我发现这项服务时,我简直不敢相信。它提供了一切,而且是最容易使用的。如果有这样一个简单无痛的工具可以解决所有问题……

为了保护发送到web服务器和从web服务器发送的信息的安全,启用客户端和服务器之间的通信加密是一个好主意。这通常称为SSL。

因此,让我们在Apache2上使用自签名证书设置HTTPS。我将列出你应该遵循的步骤:

在你的机器上安装apache2 web server。对于linux机器,打开终端并输入

Sudo apt-get安装apache2

安装成功后,可以通过命令检查apache2服务的状态

Sudo服务apache2状态

它应该输出

导航到浏览器并输入

http://localhost:80

验证您获得了apache2的默认页面,如下所示。

为了加密web连接,我们需要CA(证书颁发机构)的证书,或者我们可以使用自签名证书。让我们使用以下命令创建一个自签名证书。

Openssl req -x509 -newkey rsa:2048 -keyout mykey。输入mycert。Pem -days 365 -nodes

请按如下所示填写相关信息。

mykey。Key和mycert。Pem应在当前工作目录中创建。

如果我们把证书和密钥移到一个公共的地方,apache2 web服务器就很容易找到它们了。让我们执行下面的命令

Sudo cp mycert。pem /etc/ssl/certs

Sudo cp mykey。关键/etc/ssl/private

让我们在服务器上启用SSL模式

Sudo a2enmod SSL

它应该像这样输出

让我们将apache2配置为使用上面生成的自签名证书和密钥。

sudo vi /放开

请找到这两行,并用您的证书和密钥路径替换它们。

最初的

最后

启用站点

cd /etc/apache2/sites-available / Sudo a2ensite default-ssl.conf

重新启动apache2服务

Sudo服务apache2重启

在HTTPS上验证apache2 web服务器。再次打开浏览器并输入

https://localhost:443

它应该输出如下内容,并警告您即将查看的页面不安全,因为我们已经使用自签名证书配置了服务器。

恭喜您已经将apache2配置为HTTPS端点,现在单击高级—>添加例外—>确认安全例外,您将再次看到默认页面。