SSL For Free网站获取Let's Encrypt免费SSL证书

0.序言

随着小程序的开放,自己也尝试去写一些,但是发现对于后台接口必须使用HTTPS,申请证书成了一个问题,谷歌下,发现了Let's Encrypt免费SSL证书。于是开始申请并部署,记录下来。

1.申请证书

1.1 登陆网站


网址:https://www.sslforfree.com/

如下图:

网站首页

1.2 输入域名

会看到一个搜索框,输入我们需要获取SSL证书的网址。然后点击后面的Create Free SSL Certificate按钮


例如:www.hao123.com

输入域名

1.3 手工/自动获取权限上传验证文件

验证方式选择

选择手工获取证书文件,点击Manual Verification 按钮

1.4 验证网站所有权

下载证书文件

将两个文件下载到本地,然后在Nginx网站目录中创建.well-know以及里面再创建一个acme-challenge目录,再将上面下载的2个文件丢进去。(如果你申请https的域名是泛域名形式的话,即woxinshangdi.com *.woxinshangdi.com,这里的提示就不是下载两个文件,而是需要配置域名解析。反正按照提示操作就好。)这一部分花了我很长时间,主要是网站的Nginx配置有些问题。

1.5 获取证书下载本地

证书文件截图

验证网站之后,就能够下载SSL安全证书的文件。接下来可以部署在网站上。

3 证书部署(Nginx)

SSL证书压缩包里有3个文件,分别是certificate.crt、ca_bundle.crt,以及private.key。在Nginx部署证书,需要在nginx.conf文件中进行配置,同时,也需要对证书文件合并。我们一步一步进行总结。

3.1 合并证书文件

需要将certificate.crt、ca_bundle.crt合并到一起,两个文件用EditPlus软件打开,将ca_bundle.crt内容粘贴进入certificate.crt尾部即可。

在服务器D盘创建一个目录

D:/cert

将合并后的certificate.crt和private.key放入文件夹下。

3.2 Nginx配置文件

配置文件需要打开443端口的监听,具体如下:


# nginx.conf
 server {
        listen       443 ssl;
        server_name  www.hao123.com;

        ssl_certificate      D:/cert/certificate.crt;
        ssl_certificate_key  D:/cert/private.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

同时,可以在监听80端口的配置上进行修改,让所有的请求都从443过。


server{
        listen 80;
        charset      utf-8;
        server_name  www.hao123.com;
        rewrite ^(.*)$  https://$host$1 permanent;
}

此时,访问https://www.hao123.com可以看到


作者:种个太阳砸死你
链接:https://www.jianshu.com/p/66486bdaeeaa
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/keketrtr/article/details/80439910