免费SSL国外就有Let’s Encrypt,之前也写过详细的教程可以参考:《wordpress个人博客申请Let’s Encrypt免费SSL证书》
这里推荐一个国内的SSL免费服务申请就是腾讯云:https://www.qcloud.com/product/ssl.html。比Let’s Encrypt简单的多

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

配置nginx
关于nginx的安装配置看查看《ubuntu nginx+apache组合 nginx反向代理》
在/etc/nginx/sites-available/编辑修改你相应的网站配置文件
(在/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就可以咯。非常简单啦。
(注意:要把之前的所有地址引用的http://修改为https://,不然SSL的锁头是不会绿色的)