2012-12-07 164 views
0

我的nginx代理到應用服務器,它具有以下配置:nginx的proxy_pass POST 404錯誤

location /app/ { 
     # send to app server without the /app qualifier 
     rewrite /app/(.*)$ /$1 break; 
     proxy_set_header Host $http_host; 
     proxy_pass http://localhost:9001; 
     proxy_redirect http://localhost:9001 http://localhost:9000; 
    } 

用於/應用程序的任何請求轉到:9001,而默認網站託管:9000。

GET請求正常工作。但是,無論何時向/ app/any/post/url提交POST請求,都會導致404錯誤。按照預期,通過GET/app/any/post/url直接在瀏覽器中打開網址。

我在網上找到其他人有類似的問題,並添加

proxy_set_header主機$ HTTP_HOST; 但這並沒有解決我的問題。

任何見解都值得讚賞。

謝謝。

回答

1

我的不好,問題不是nginx,而是我的應用服務器。我正在使用一個路由模塊,它要求我明確指定請求方法(如果不是get),所以這就是爲什麼它會在發佈時拋出404錯誤,而不是直接點擊瀏覽器URL時。