我正在尝试使用nginx反向代理方法托管网站,我正在运行两个Node.js应用程序

时间:2015-05-13 19:25:35

标签: javascript node.js nginx reverse-proxy

我的第一个应用程序在8080上运行,第二个应用程序在8081上运行,代码如下:

server {
    listen 80;

    server_name greatwallprojects.com;

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

    location /pingtest {
            proxy_pass http://127.0.0.1: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;
        }
    }

一旦我尝试打开第二个位置页面,我基本上看到一个空白页面,主页工作正常,但http://greatwallprojects.com/pingtest加载了一个空白页面。如果反向代理方法有问题我应该尝试其他方法吗?有谁可以指出这个问题?

1 个答案:

答案 0 :(得分:0)

我认为应该有效

upstream application_1 {
    server 127.0.0.1:8080;
}

upstream application_2 {
    server 127.0.0.1:8081;
}

server {
    listen 80;

    server_name greatwallprojects.com;

    location / {
        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_pass http://application_1;
    }

    location ~* ^\/pingtest$ {
            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_pass http://application_2;
        }
    }