我在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