首页 > 解决方案 > Nginx 反向代理不适用于多个 NodeJs 项目

问题描述

我有 3 个 nodejs 项目部署到我的 EC2 实例

  1. projectone(端口 8080)
  2. 项目二(端口 8081)
  3. 项目三(端口 8082)

default.conf 文件的内容如下

server {
   listen         80 default_server;
   server_name    mydomain.com;
   location / {
       proxy_pass http://IP_HERE:8080;
       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;
   }
}
server {
   listen         80;
   server_name    mydomain.com;
   location /projecttwo {
       rewrite /projecttwo/(.*) /$1 break;
       proxy_pass http://IP_HERE:8081;
       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;
   }
}

url mydomain.com 正确指向端口 8080 中的项目,但 mydomain.com/projecttwo 不起作用。我认为它仍然会转到端口 8080 而不是 8081。

使用指定的 IP 和端口连接时,所有项目都在运行。

请让我知道出了什么问题。

标签: node.jsnginxamazon-ec2nginx-reverse-proxy

解决方案


推荐阅读