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

Posted

技术标签:

【中文标题】AWS EC2 NGINX 节点服务器 - 如何使用 Https 而不是 Http【英文标题】:AWS EC2 NGINX Node server - How to use Https instead of 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 实现这一点?

【问题讨论】:

【参考方案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 组合。

【讨论】:

listen呢?我们要不要保留它80 你能给一些参考网站吗?或使用 ACM 的示例。

以上是关于AWS EC2 NGINX 节点服务器 - 如何使用 Https 而不是 Http的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AWS EC2 Linux 2 上安装 NGINX [关闭]

如何在私有子网上托管的 aws ec2 实例中安装 Nginx

如何与 Cloudfront 和 ec2 节点服务器通信?

AWS EC2 / Elastic Beanstalk |如何按域列入白名单?

无法从本地主机访问 AWS EC2 服务器(卷曲超时)

如何使本地日期时区等于 (+8) 到服务器时区 (UTC) 。节点 js 和 AWS