我有一个NodeJS快速服务器运行在我的EC2示例,现在我已经取代了代码,使它https服务器。现在它需要pem和证书文件,所以我如何生成这些,例如,如果我使用让加密CA SSL。请指导我,因为我是新的这一部分,所以什么可以是最简单的方法,例如,使我的服务器安全
oxcyiej71#
我建议在nodejs应用程序前面安装一个反向代理,比如nginx,这样可以简化证书管理,你可以通过很多方式来实现这一点,但有一种设置可能是这样的:
# for a debian OS sudo apt-get update sudo apt-get install certbot
sudo certbot certonly --standalone -d example.com
/etc/nginx/nginx.conf
server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl; ssl_certificate /etc/nginx/cert.pem; ssl_certificate_key /etc/nginx/key.pem; location / { proxy_pass http://<your-nodejs-server-ip>:<nodejs-server-port>; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
-v
docker run -d --name nginx -p 80:80 -p 443:443 -v /etc/letsencrypt/live/example.com/fullchain.pem:/etc/nginx/cert.pem -v /etc/letsencrypt/live/example.com/privkey.pem:/etc/nginx/key.pem -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf nginx
certbot certonly --force-renew -d example.com
docker exec nginx nginx -s reload
1条答案
按热度按时间oxcyiej71#
我建议在nodejs应用程序前面安装一个反向代理,比如nginx,这样可以简化证书管理,你可以通过很多方式来实现这一点,但有一种设置可能是这样的:
/etc/nginx/nginx.conf
,包含类似于以下内容的内容:-v
标志,用于将证书和配置安装到容器中。