有没有人试过在windows环境下:Nginx反向代理Node.js
发布于 8个月前 作者 struCoder 984 次浏览

我这边的环境就是windows了: 我的conf文件是这样配置的(主要部分):

upstream mysite.com{
        server 127.0.0.1:3000;
    }
    server {
        listen       0.0.0.0:8080;
        server_name  mysite.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            
            proxy_pass   http://127.0.0.1:3000;
            proxy_redirect off;
            proxy_http_version 1.1;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;
            proxy_read_timeout 300s;           
        }
}

当我键入mysite.com时就是出现not found之类的。我在stackoverflow上也找了一下,但是还是没有解决。 所以在这里希望能得到准确的解答。同时也给以后遇到类似于此问题的同学一个解决的方法。:)

9 回复

你nginx监听的8080,所以你要要键入mysite.com:8080

@pathletboy 恩,是的,我这样试过了,可还是出现了not found 之类的提示。挺郁闷的:(

nginx在windows下可是很不怎么样的, 还是用iis吧

我的 nginx (Tengine) 配置是这样的,运行是成功的,cookie、session什么的也都正常:
http {
    server {
        listen        80;
        server_name   localhost;
        location /{
            proxy_pass    http://nodejs_upstream/;
        }
        location /http-bind/ {
            proxy_pass    http://localhost:7070/http-bind/;
        }
    }
    upstream nodejs_upstream {
        server 127.0.0.1:3000;
    }
}

用127.0.0.1:8080就可以访问到了,如果你想用mysite.com:8080访问, 记得在host文件增加一条DNS 127.0.0.1 mysite.com

upstream nodejs__upstream2 {
     server 127.0.0.1:3000;
     keepalive 64;
}
server {
     listen 8080;
     server_name localhost;
     location / {
         proxy_set_header   X-Real-IP            $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header   Host                   $http_host;
         proxy_set_header   X-NginX-Proxy    true;
         proxy_set_header   Connection "";
         proxy_http_version 1.1;
         proxy_pass         http://nodejs__upstream2;
     }
}

需要nginx -s reload,你确保都执行了吗?

@leohxj 恩,是的,这些基本操作我都知道, 但是现在显示的是白屏,是不是环境问题?我为这个问题也纠结了几天了。。 :(

@struCoder 你确定端口已经转向了吗?服务器端有输出么

@struCoder 修改下hosts文件,增加域名和本地ip的一条记录就可以了。

回到顶部