有没有人试过在windows环境下:Nginx反向代理Node.js - CNode技术社区

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

我这边的环境就是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服务器了

回到顶部

AltStyle によって変換されたページ (->オリジナル) /