我在nginx的前面路线Node.js的这运行在EC2上光油清漆,nginx的,Node.js的:nginx的静态HTML页面与node.js的后备
我想通过nginx为某些路由提供特定的静态HTML页面(例如,/
,index.html
),但是所有其他路由都由node.js处理。
作为一个例子,/
将由nginx的在静态HTML页面的形式发送的,而任何不匹配,说/dynamic_stuff
或/dynamic_stuff2
,将由node.js中被处理
在其他线程在线,其他人把node.js放在一个单独的dir中,就像/node/dynamic_stuff
一样,但是我不想为我的路由指定一个单独的dir。
现在我有/
担任了由node.js的其他事物一样,但如果我只是在测试我的node.js服务器,我把它记下来,我想/
退却到的index.html
Nginx上的版本。在这种情况下,如果我的node.js服务器被关闭,那么我得到一个502 Bad Gateway。
我并不太担心通过nginx和node.js提供文件的性能,我只是想知道如果node.js因任何原因停止运行,我想让nginx处理基本页面。
相关的脚本:
location =/{
index index.html
root /path/to/public
try_files $uri $uri/ index.html;
}
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_pass node_js;
}
如果我用这上面的代码中,所有的请求仍然会发送到node.js的,包括/
。
如果我这样做,它仍然向前'/'到Node.js的以下是我的conf中的相关部分: location =/{ index index.html root/path/to/public try_files $ uri $ uri/index.html; } 位置/ { proxy_set_header X-实时IP $ REMOTE_ADDR; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header主机$ http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http:// node_js /; } – Xeus 2013-03-01 18:16:03
这有点难以阅读。也许你可以将你的配置作为代码片段放到你的问题中。 – topek 2013-03-01 18:57:48
好的,完成了,谢谢! – Xeus 2013-03-01 19:45:24