繁体   English   中英

如何在 AWS 负载均衡器中为 NodeJS 应用程序设置 nginx 配置?

[英]How to setup nginx config in AWS loadbalancer for NodeJS app?

我一直在努力处理 NGINX 配置文件的多次迭代,以便在 AWS 的 EC2 实例上运行 NodeJS 应用程序。 但我没有成功。 任何帮助,将不胜感激。

我的要求:

http请求必须强制为https

www.example.com应重定向到example.com

我能够使其分别在httphttps中工作。

www 到非 www 根本不起作用。

我评论了我用来强制httphttps的逻辑

如果我取消注释,我会在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM