如何配置Nginx来访问在多个端口上运行的服务器

时间:2019-02-08 04:16:06

标签: nginx amazon-ec2 nginx-reverse-proxy

我正在将nginx设置为EC2上的反向代理服务器。 我的EC2上运行了两个React应用程序和一个Express服务器。 第一个在端口3000上运行, 2nd正在端口3001上运行, 3rd正在端口3002上运行

当我尝试访问第一个React应用时,请转到http://example.com/,它可以正常工作。 但是,当我尝试访问http://example.com/admin时,它仍然会首先响应应用程序。 当我尝试通过example.com/api访问API服务器时,它也可以正常工作。 请让我知道如何配置nginx配置来访问第二台服务器。 example.com/admin。

这是nginx配置文件。

server 
{
    listen       80 default_server;
    server_name  example.com

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;


    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;
    }

    location /api {
       proxy_pass http://localhost:3001;
       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;
    }

    location /admin {
       proxy_pass http://localhost:3002;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

0 个答案:

没有答案