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


当前回答

这应该是工作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有帮助

其他回答

我想在@CodeWarrior的非常好的回答中添加一些东西,这在Chrome上完美地工作,但对于Firefox需要额外的步骤。

由于Firefox不支持默认情况下Windows提供的CA证书,您需要继续:config,向下滚动到security.enterprise_root。Enabled并将其更改为true。

现在,您的证书在Firefox上也应该是有效的。

当然,这仅用于开发目的,因为ssl信任是一个关键的安全问题,只有在知道其影响时才更改此设置。

这是最简单的方法

首先复制这些服务器。CRT &服务器。关键文件(见附件)到apache/conf/ssl目录

然后打开httpd.conf文件并添加以下行

Listen 80
Listen 443

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:443>
    DocumentRoot "d:/wamp/www"  #your wamp www root dir
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.crt"
    SSLCertificateKeyFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.key"
</VirtualHost>

这实际上很简单,假设您手边有一个openssl安装。(您在哪个站台?)

假设你使用的是linux/solaris/mac os/x, Van的Apache SSL/TLS mini-HOWTO有一个很好的演练,我在这里就不再赘述了。

但是,执行摘要是您必须创建一个自签名证书。由于您运行apache for localhost大概是为了开发(即不是公共web服务器),您将知道您可以信任自签名证书,并且可以忽略浏览器抛出的警告。

博士tl;

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

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

Serveo是最好的

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

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

为此我使用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。