Nodejs中多个端口的ElasticBeanStalk NGinx配置

Posted

技术标签:

【中文标题】Nodejs中多个端口的ElasticBeanStalk NGinx配置【英文标题】:ElasticBeanStalk NGinx configuration for multiple ports in Nodejs 【发布时间】:2018-05-18 07:45:25 【问题描述】:

我的 nodejs 托管在 ElastiCbean 茎环境中。 它使用默认配置和默认端口。 现在我打算打开另一个端口并从 Nodejs 应用程序监听该端口。这是在多个端口中打开 nodejs 的一种。

我已经完成了 nodejs 编码部分。但我不确定 nginx 的更改是否使其能够监听多个端口。 谁能给我解释一下?

【问题讨论】:

【参考方案1】:

我只为Java backends配置了nginx,但本质上你需要配置server指令来包含你想要监听的额外端口,例如:

server 
  # listen for the extra the port the load balancer is forwarding to
  listen        88;
  access_log    /var/log/nginx/access.log main;

  client_header_timeout 60;
  client_body_timeout   60;
  keepalive_timeout     60;
  gzip                  off;
  gzip_comp_level       4;

  location / 
    # forward to the actual port the application runs on
    proxy_pass          http://127.0.0.1:8888;
    proxy_http_version  1.1;

    proxy_set_header    Connection          $connection_upgrade;
    proxy_set_header    Upgrade             $http_upgrade;
    proxy_set_header    Host                $host;
    proxy_set_header    X-Real-IP           $remote_addr;
    proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
  

因此,我建议将 ssh 连接到您的 Nodejs EB 服务器并四处寻找您的 nginx 配置目录,寻找 nginxconf.d 文件夹或 nginx.conf 文件。当你找到它时,you can override the default server config, or apply an include statement to extend it,无论哪种方式,上面的server 指令都应该允许对 nginx 的多个端口进行访问。

【讨论】:

它没有像 Java 环境那样的includes,你必须使用自定义配置:docs.aws.amazon.com/elasticbeanstalk/latest/dg/… 谢谢,我的回答概括了一点

以上是关于Nodejs中多个端口的ElasticBeanStalk NGinx配置的主要内容,如果未能解决你的问题,请参考以下文章

golang 可以监听多个端口吗

如何将 mongoDB Docker 映像部署到 Elastic Beanstalk?

在同一台机器上运行多个唯一的 nodejs 网络服务器

如何为 ElasticBeanStalk 中托管的 NodeJs 应用程序指定端口?

NodeJS Express - 同一端口上的两个 NodeJS 实例(vhost)

Nodejs 随机免费 tcp 端口