Nginx中的proxy_pass期间,路径组件正在添加到私有服务器

时间:2019-05-12 08:03:07

标签: node.js nginx amazon-vpc nginx-config

我已经创建了具有公共和私有子网的AWS VPC。公共子网包含具有公共IP的ec2实例。在该实例中,我已经将nginx安装为Web服务器。

在私有子网中,我添加了一个包含Node.js应用程序的实例。它没有公共IP。

现在我要我的Web服务器路由

www.mydomain.com到Web服务器并显示html内容

www.mydomain.com/api/到托管Node.js应用程序的应用程序服务器。

现在我已经像这样配置了nginx

events { }
http {
    upstream app_server {
    server 10.0.2.166:80;
}


server {
    listen 80 default_server;
    server_name mydomain.com;
    client_max_body_size 60M;
    access_log  off;

    location / {
        root /data/www;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection  ^`^xupgrade ^`^y;
        proxy_cache_bypass $http_upgrade;
        proxy_connect_timeout 75s;
        proxy_read_timeout 300s;
    }

    location /api {
        include /etc/nginx/mime.types;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_set_header X-NginX-Proxy true;

        proxy_redirect off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection  ^`^xupgrade ^`^y;
        proxy_cache_bypass $http_upgrade;
        proxy_connect_timeout 75s;
        proxy_read_timeout 300s;
        proxy_pass http://app_server;
    }
}

它非常适合将内容加载到www.mydomain.com

但是当它路由到我的应用程序服务器中的www.mydomain.com/api/时,它正在添加这样的路径组件

Loading /api/
Loading /api/

结果,正确的请求未得到处理。它应在我的应用程序服务器中充当/

我在这里想念什么?

0 个答案:

没有答案