Node.js 开启 Https 的小实践

最近自己的 www.jackzoo.org/ 切换到了 https。其实去年想把博客给迁移过去,但是太穷找了个免费的证书(可以去这里弄Let’s Encrypt),实际效果不是很好。 (可以访问 www.jackpu.com )但是最近腾讯云推出了免费的ssl证书申请。楼主是亲测有效的。(我没有打广告)

《Node.js 开启 Https 的小实践》

申请成功后,你直接下载证书就可以用了。

《Node.js 开启 Https 的小实践》

配置nginx

/etc/nginx/conf.d/下加入你的域名配置比如xxx.com.conf,内容如下

server {  
    listen 80;
    listen 443 ssl;
    server_name www.xxx.com;
    ssl_certificate /etc/nginx/ssl/www.xxx.com_cert.crt;
    ssl_certificate_key /etc/nginx/ssl/www.xxx.com.key;
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass         http://127.0.0.1:8360;
    }
}

proxy_pass 即反向代理到你的node服务的地址。

sslcertificate 和 sslcertificate_key 需要指定证书目录文件,也就是将你下载的文件复制到/etc/nginx/ssl 目录中去就行啦。

最后重启nginx就可以咯。非常简单啦。

Note 切换到https麻烦的事情就来了,https不允许http资源的加载请求,因此最好将那些地址替换掉支持https。

关于https的扩展阅读:

    原文作者:HTTP
    原文地址: https://juejin.im/entry/57a2986d165abd006130a09f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞