[英]How to setup nginx config in AWS loadbalancer for NodeJS app?
我一直在努力处理 NGINX 配置文件的多次迭代,以便在 AWS 的 EC2 实例上运行 NodeJS 应用程序。 但我没有成功。 任何帮助,将不胜感激。
我的要求:
http
请求必须强制为https
。
www.example.com
应重定向到example.com
我能够使其分别在http
和https
中工作。
www 到非 www 根本不起作用。
我评论了我用来强制http
到https
的逻辑
如果我取消注释,我会在 LoadBalancer 中不断收到OutOfService
错误。
我的 NGINX 配置代码:
server {
listen 80;
listen 443;
server_name example.com;
root /opt/bitnami/apache2/htdocs/vdc_live;
location / {
proxy_pass http://localhost:3000;
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;
}
# proxy_set_header X-Forwarded-Proto $scheme;
# if ( $http_x_forwarded_proto != 'https' )
# {
# return 301 https://$host$request_uri;
# }
}
server
{
server_name www.example.com.com;
return 301 $scheme://example.com$request_uri;
}
http 请求必须强制为 https。
如果您已经在使用 LB,那么最好使用 LB 的重定向功能?
通过重定向操作,负载均衡器可以将传入请求从一个 URL 重定向到另一个 URL。 这包括将 HTTP 请求重定向到 HTTPS 请求的功能,这使您能够满足安全浏览的合规性目标,为您的站点实现更好的搜索排名和较高的 SSL/TLS 分数。 您还可以使用重定向将用户发送到不同的 web 站点,例如从旧版本的应用程序重定向到新版本。
以上工作正常,如果您使用的是经典 LB,那么您可以检查redirect-http-https-elb
www.example.com 应重定向到 example.com
您也可以使用 LB 执行此操作,您可以使用基于host
的路由执行此操作。 你在这里进一步检查
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.