지정된 URI를 사용하여 nginx Proxy_pass에서 업스트림 서버 리디렉션이 발생하는 경우 예기치 않은 리디렉션이 발생합니다.

지정된 URI를 사용하여 nginx Proxy_pass에서 업스트림 서버 리디렉션이 발생하는 경우 예기치 않은 리디렉션이 발생합니다.

이것은 내 역방향 프록시 서버 블록입니다.

server {
    listen 80;
    server_name test.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header HOST $host;
    }
}

후행 슬래시 없이 업스트림 서버에 모든 엔드포인트를 생성하고 모든 후행 슬래시 엔드포인트를 업스트림 서버의 후행 슬래시가 아닌 엔드포인트로 리디렉션하고 test.com/foo/로 리디렉션합니다. 프록시 를 test.com/foo원할 때까지 모든 것이 정상입니다 . 여기에 서버 블록이 있습니다.test.comhttp://127.0.0.1:8080/app/

server {
    listen 80;
    server_name test.com;

    location / {
        proxy_pass http://127.0.0.1:8080/app/;
        proxy_set_header HOST $host;
    }
}

그리고 일어난 일은 다음과 같습니다.

  1. test.com로 리디렉션 test.com/app, 예상test.com
  2. test.com/foo여전히 예상과 똑같다
  3. test.com/foo/로 리디렉션 test.com/app/foo, 예상test.com/foo

이에 대한 해결책을 찾을 수 없습니다. 도움이 필요하십니까?

관련 정보