2017-10-13 72 views
0

應用程序堆棧:Ngnix被轉換自定義HTTP代碼502網關

  • 框架:軌,5.1
  • 反向代理:Nginx的,1.10.3
  • 應用服務器:乘客,5.1.5

我有我的API僅在Ngnix反向代理後面運行的Rails 5應用程序。我的一些要求是有自定義http代碼即。 2000,2003等

但問題是,Ngnix正在將自定義響應從服務器轉換爲502並因此發送錯誤網關。我還沒有發現任何有用的東西,但全部。任何指針應該被讚賞。謝謝。

的Nginx服務器塊:

所有的
server { 
    listen 80; 
    server_name sport-staging.sports.com; 
    passenger_enabled on; 
    passenger_app_env staging; 
    root /var/www/sport/current/public; 
} 

回答

0

首先 - 你確定,與代碼更改默認情況下,您的應用程序完美的作品沒有任何問題?請仔細檢查問題是否確定在自定義代碼中。

我的意見是,你永遠不應該定義任何類型的自定義HTTP代碼。如果你有這樣的需求,那麼在99.99%你做錯了什麼。想想,這個應用程序將在未來由其他開發人員處理。他們如何理解2003年的代碼是什麼意思?

我的建議是,然後尋找一個nginx黑客或更改它的設置,你應該更好地標準化你的應用程序。現有的HTTP代碼已經足夠處理任何事情。

另外,作爲一種解決方案,您可以針對此目的使用針對JSON的特定應用程序代碼。

+0

我已經與另一個團隊討論過自定義代碼,但他們堅持不懈。所以不能幫助。顯然,我正在抓Nginx文檔來幫助解決這個問題。不管怎麼說,還是要謝謝你。 – Sachin

+0

@Sachin我很難過聽到這個消息。向他們展示您的主題:D – AntonTkachov

+0

我可以做的最後一件事是在我的應用程序中創建圖層,以將其他團隊的自定義代碼映射到標準http代碼,然後針對涉及這些代碼的每個請求執行相應操作。 – Sachin