>  Q&A  >  본문

nginx - 두 개의 역방향 프록시 후에 리디렉션이 실패합니다.

인트라넷에는 웹 서비스를 제공하는 3개의 포트가 있는 서버가 있습니다. 서버는 nginx, apache 및 serv-u입니다. 이제 세 가지 서비스를 외부 네트워크로 전달해야 합니다.

그래서 포트 포워딩에 병합하고 nginx를 사용하여 호스트를 역으로 결정하여 문제를 해결하고 싶었습니다.
nginx.conf는 다음과 같습니다:

으아악

3개의 코드가 각각 3개의 항목을 대체합니다. Host를 사용하여 구문 분석한 후에는 정상이지만 네트워크 관리 시스템에서 설정한 외부 네트워크를 사용하면 문제가 발생합니다.

http://xxx.com:882/folder 접속 후
자동으로 http://xxx.com:80/folder/

로 이동합니다.

무엇이 문제인가요? nginx.conf가 잘못 구성되어 있습니까?

怪我咯怪我咯2713일 전1164

모든 응답(2)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-05-16 17:26:31

    네, nginx 문서를 오랫동안 뒤져본 끝에 답을 찾았습니다.
    세 사이트의 구성에
    proxy_redirect "http://10.110.39.2:80" "http://$host:882" ;
    문장을 추가하세요. 그게 다야.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-16 17:26:31

    게시된 구성 파일에는 문제가 표시되지 않습니다. 따라서 다음 제안만 (순서대로) 드릴 수 있습니다:

    1. access_log를 열고 http://xxx.com:882에 대한 액세스 요청이 실제로 nginx에 의해 처리되었는지 확인하세요. 이 가상 서버에 구성된 로그보다는 글로벌 로그를 확인하는 것이 좋습니다. 이는 구성 오류로 인해 다른 가상 서버에서 요청이 처리되는 문제를 제거하는 데 사용할 수 있습니다. http://xxx.com:882的请求确实已经被该nginx处理。建议查看全局的log,而不是针对此 virtual server 所配置的日志,这样用来排除由于配置错误,请求被其他 virtual server 处理的问题。
    2. 如果[1]得到确认,则如法炮制确认 http://10.110.39.2:10 是否收到请求。
    3. 如果[2]也得到了确认,那么这个时候,请对监听 10.110.39.2:10
    4. [1]이 확인되면 동일한 방법으로 http://10.110.39.2:10이 요청을 받았는지 확인하세요.
    #🎜🎜#[2]도 확인되었다면 이때 10.110.39.2:10을 듣고 애플리케이션을 디버그하세요. #🎜🎜# #🎜🎜#

    회신하다
    0
  • 취소회신하다