我目前遇到一些配置問題與NGINX,我不斷收到502錯誤,而不是NGINX回落到不同的目錄,如果服務器關閉或目錄不存在。Nginx後備與Node.js
我在端口上運行Node.js應用程序:3000,設置了SSL,並將所有HTTP請求重定向到HTTPS。鑑於我的node.js應用程序處於脫機狀態,如果可能,我希望將客戶端發送到默認的NGINX根目錄/usr/share/nginx/html
index index.htm index.html
。
我試圖讓端口3000上的nodejs應用程序顯示在/
上,但是在服務器關閉的情況下,在NGINX默認目錄下回退並顯示index.html。任何人都可以幫助或引導我完成這個過程嗎?
謝謝
編輯:我已經試過jfriend00在評論中說,但現在我的proxy_pass似乎並沒有工作。無論我的服務器是否在運行,它現在都會默認爲500.html。我已附加了我的nginx.conf文件,希望有任何幫助。
events {
worker_connections 1024;
}
http {
upstream nodejs {
server <<INTERNAL-PRIVATE-IP>>:3000; #3000 is the default port
}
...
server {
listen 80;
server_name <<PUBLIC-IP>>;
return 301 $scheme://<<DOMAIN>>$request_uri;
}
server {
listen 443;
ssl on;
server_name <<DOMAIN>>.com www.<<DOMAIN>>.com;
...
location/{
proxy_pass http://nodejs;
proxy_redirect off;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
proxy_set_header X-Forwarded-Proto https;
}
error_page 501 502 503 /500.html;
location = /500.html {
root /usr/share/nginx/html;
}
}
}
還有一個類似的問題沒有答案[http://stackoverflow.com/questions/15142692/varnish-nginx-node-js-static-nginx-html-pages-with-node-js-fallback](here) 。另一位提問者經歷了一種非常規的方法。 – Bryan
這樣做的一種方法:http://serverfault.com/questions/511109/nginx-local-fallback-error-page-if-proxy-destination-is-unavailable – jfriend00
嗯。我會去看看它,但是一眼看出來,把root放在位置塊裏面不錯吧? @ jfriend00 – Bryan