Elastic Beanstalk 运行 反向代理上的 TLS
TLS on Elastic Beanstalk running reverse proxy
我想将 TLS 添加到我的 AWS Elastic Beanstalk 应用程序。它是 nginx 代理服务器后面的 node.js 应用程序 运行。
这是我完成的步骤
- 从 Amazon Certificate Manager 获取通配符证书。
- 在我的 EB 实例的负载均衡器配置部分添加证书。
我的 nginx 配置的相关部分是
files:
/etc/nginx/conf.d/proxy.conf:
mode: "000644"
content: |
upstream nodejs {
server 127.0.0.1:8081;
keepalive 256;
}
server {
listen 8080;
proxy_set_header X-Forwarded-Proto $scheme;
if ( $http_x_forwarded_proto != 'https' ) {
return 301 https://$host$request_uri;
}
location / {
proxy_pass http://nodejs;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
当我尝试使用 https 访问我的应用程序时,我收到 408: Request Timed Out
。
据我了解,要在 nginx 上启用 ssl,我们需要将证书与 pem 文件一起添加并在端口 443 上侦听。但是由于我使用的是 ACM 证书,所以我没有证书和 pem 文件.
我的 nginx.conf 中缺少什么才能使它起作用?
谢谢
在负载均衡监听器配置中,对于端口443
监听器,"Instance Port"设置应该是80
.
我想将 TLS 添加到我的 AWS Elastic Beanstalk 应用程序。它是 nginx 代理服务器后面的 node.js 应用程序 运行。
这是我完成的步骤
- 从 Amazon Certificate Manager 获取通配符证书。
- 在我的 EB 实例的负载均衡器配置部分添加证书。
我的 nginx 配置的相关部分是
files:
/etc/nginx/conf.d/proxy.conf:
mode: "000644"
content: |
upstream nodejs {
server 127.0.0.1:8081;
keepalive 256;
}
server {
listen 8080;
proxy_set_header X-Forwarded-Proto $scheme;
if ( $http_x_forwarded_proto != 'https' ) {
return 301 https://$host$request_uri;
}
location / {
proxy_pass http://nodejs;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
当我尝试使用 https 访问我的应用程序时,我收到 408: Request Timed Out
。
据我了解,要在 nginx 上启用 ssl,我们需要将证书与 pem 文件一起添加并在端口 443 上侦听。但是由于我使用的是 ACM 证书,所以我没有证书和 pem 文件.
我的 nginx.conf 中缺少什么才能使它起作用?
谢谢
在负载均衡监听器配置中,对于端口443
监听器,"Instance Port"设置应该是80
.