【问题标题】:AWS EC2 NGINX Node server - How to use Https instead of HttpAWS EC2 NGINX 节点服务器 - 如何使用 Https 而不是 Http
【发布时间】:2019-02-09 10:39:14
【问题描述】:
我想从 HTTP 更改为使用 nginx 的 nodejs 服务使用 HTTPS,我已经创建了自签名证书
现在,我想改变
http://xx.xx.xx.xxx:3000
到
https://xx.xx.xx.xxx:3000
如何在 AWS 中使用 EC2 实例、NGINX 或 ELB 实现这一点?
【问题讨论】:
标签:
amazon-web-services
nginx
amazon-ec2
https
amazon-elb
【解决方案1】:
- 使用证书(ACM 或 LetsEncrypt)启用端口 443 以及端口 3000。
- 在 nginx 配置中的
server 块上方添加以下代码:
server {
listen 3000;
if ( $http_x_forwarded_proto != 'https' ) {
return 301 https://$host$request_uri;
}
}
- 重启 nginx。
- 测试
该请求将访问 nginx 的 3000 端口并将其重定向到端口 443。
这未经测试,但适用于端口 80 和 443 组合。