2017-10-13 4 views
0

응용 프로그램 스택 :Ngnix 502 불량 게이트웨이에 사용자 지정 HTTP 코드로 변환되어

  • 프레임 워크 : 레일, 5.1
  • 역방향 프록시 : Nginx에, 1.10.3
  • 응용 프로그램 서버 : 승객 5.1.5

Ngnix 역방향 프록시에서 실행되는 API 만 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