前两天给博客更换上了ssl协议,终于把灰色的叹号变成了小绿锁。

主要的时间都花在了nginx.conf上,因此这里主要讲解nginx.conf的配置。

获取证书

阿里云和腾讯云都提供有免费的证书,网上关于这个的教程也很多,因此便不赘述。

在下载了nginx适配的证书之后,上传证书***.pem***.key至服务器任意路径下。

配置nginx.conf

主要需要修改的是nginx.conf中的server{}项,只要根据已有的配置适当更改即可,如果完全照搬适配完成的结果可能反而会出问题,我之前就是耽误时间在了找各种现成的模板上。

https默认的端口是443端口,而http默认的端口是80端口,因此需要新增一句listen 443 ssl;,同时https需要你提供证书,因此还需要加上两句,ssl_certificate /path/***.pem;,ssl_certificate_key /path/***.key;,其中的path更换为具体的证书所在的路径。这样一个即可以使用http也可以使用https的nginx服务器就配置好了。

如果想要实现http自动跳转https的话,可以把原来server{}中的listen 80;删去,同时加上下面的代码

server {
        listen 80;
        server_name  www.yourdomain.com;
        rewrite ^ https://http_hostrequest_uri? permanent;    # force redirect http to https
        #return 301 https://http_hostrequest_uri;
}

想要测试效果的话,service reload nginx便可。