有没有人试过在windows环境下:Nginx反向代理Node.js
发布于 10 年前 作者 struCoder 11139 次浏览 最后一次编辑是 8 年前

我这边的环境就是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上也找了一下,但是还是没有解决。 所以在这里希望能得到准确的解答。同时也给以后遇到类似于此问题的同学一个解决的方法。:)

13 回复

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

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

<div>我的<strong> nginx </strong>(Tengine) 配置是这样的,运行是成功的,cookie、session什么的也都正常:</div><pre class=“prettyprint”> 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; } }</pre>

用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的一条记录就可以了。

etc下hosts文件加一行 ip 域名~~

用node proxy即可,不需要nginx

曾经试过,真的不建议在windows下用nginx,支持性非常差,不知道最新版的nginx是否已经很好兼容windows了,之前部署就没成功过,而且访问非常慢,后面自己就了linux服务器了

回到顶部