[英]How to use HTTPS in Nodejs express server Deployed on EC2 instance?
我有一個在我的 Ec2 實例上運行的 NodeJS Express 服務器,現在我已經替換了代碼以使其成為 https 服務器。 現在它需要 pem 和證書文件,所以我如何生成這些文件,例如,如果我使用 lets encrypt for CA SSL。請指導我,因為我是這部分的新手,所以最簡單的方法是什么,例如讓我的服務器安全
我建議在您的 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.