Ngnix正在将自定义http代码转换为502坏网关

时间:2017-10-13 11:56:31

标签: ruby-on-rails nginx reverse-proxy

应用程序堆栈:

  • 框架:Rails,5.1
  • 反向代理:Nginx,1.10.3
  • App Server :Passenger,5.1.5

我正在使用仅在Ngnix反向代理后面运行的API Rails 5应用程序。我的一些要求是 自定义http代码即可。 2000年,2003年等

但问题是Ngnix正在将自定义响应从服务器转换为502并因此发送Bad Gateway。我还没有找到任何有用的东西。任何指针都应该受到赞赏。感谢。

Nginx服务器块:

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

1 个答案:

答案 0 :(得分:0)

首先 - 您确定,将代码更改为默认值,您的应用程序可以正常运行而不会出现任何问题吗?只需仔细检查自定义代码中的问题。

我的意见是,您永远不应该定义任何类型的自定义HTTP代码。如果你有这样的需要,那么在99.99%你做错了什么。想一想,这个应用程序将来会被其他开发人员处理。他们怎么能理解2003年代码的含义?

我的建议是在寻找nginx hacks或更改设置,你应该更好地标准化你的应用。现有的HTTP代码已足以处理任何类型的事情。

此外,作为解决方案,您可以在响应JSON中使用某种特定于应用程序的代码用于此目的。