AWS EC2 NGINX Node 服务器 - 如何使用 Https 而不是 Http



我想从HTTP更改并使用nginx将HTTPS用于nodejs服务,我已经创建了自签名证书

现在,我想从

http://xx.xx.xx.xxx:3000 

https://xx.xx.xx.xxx:3000

如何在 AWS 中使用 EC2 Instance、NGINX 或 ELB 实现这一点?

  1. 使用证书(ACM 或 LetsEncrypt(启用端口 443 以及端口 3000。
  2. 在nginx配置中的server块上方添加以下代码:
server {
listen 3000;
if ( $http_x_forwarded_proto != 'https' ) {
return 301 https://$host$request_uri;
}
}
  1. 重新启动nginx。
  2. 测试

该请求将命中端口 3000 上的 nginx,并将其重定向到端口 443。

这是未经测试的,但在端口 80 和 443 组合上对我有用。

最新更新