2015-12-07 75 views
0

我爲一個網站設置了nginx,我希望它能夠路由到3個位置 - 主要的前端服務器,api服務器和wordpress博客服務器。我可以讓它爲前端服務器和wordpress工作,但上游api服務器在通過前端訪問API時始終給出404。 wordpress運行在端口8080上,而2個NodeJS服務器運行在8015 & 8016。點擊mysite.com8015上的前端服務器顯示了UI,但在端口8016上調用登錄API時,它會引發404錯誤。 mysite.com/blog顯示了重寫URL來mysite.com:8080nginx上游配置總是返回404

nginx的配置後Worpress博客給出:

​​

出了什麼問題嗎?

+0

如果您直接前往:8016是否有效?如果它不工作,它不是一個Nginx問題,請檢查節點。 –

+0

是的,它工作。 –

+1

嘗試刪除最終的反斜槓'location/api {' –

回答

1

您應該刪除斜槓,因爲/api/它爲您的節點實例的不同由/api

location /api { 
    proxy_set_header Host $http_host; 
    proxy_pass http://backend/; 
} 

還應注意這個:

如果location由結尾的前綴字符串定義斜槓字符和請求由proxy_pass,fastcgi_pass,uwsgi_pass,scgi_pass或memcached_pa​​ss中的一個進行處理,然後爲了響應URI等於此字符串但沒有結尾斜槓的請求,使用代碼30進行永久重定向1將被返回到請求的URI並附有斜線。