NGINX Proxy_pass 관련 문제

NGINX Proxy_pass 관련 문제

부인 성명:

스택 오버플로가 코드 질문에 의미가 있다는 것을 깨닫기 전에 스택 오버플로와 비슷한 질문을 열었습니다.

내 문제:

SSH 터널을 통해 nginx 서버에 연결된 웹 서비스에 액세스하려고 합니다. 서버를 SSH로 연결하고 터널 포트를 컬링하면 완벽하게 작동합니다. 다음 단계는 nginx 구성에서 Proxy_pass를 수행하여 포트가 제공되는 해당 서비스에 액세스할 수 있도록 하는 것입니다. 나는 다음 구성을 사용하여 그것을 못 박았습니다.

location ~ ^/test/([0-9]+)/ {
    #allow our.ip/32;
    proxy_pass http://127.0.0.1:$1/;
}

인덱스가 로드되면 login.php라는 페이지로 리디렉션을 시도합니다(이 페이지는 존재하며, 컬 localhost:port/login.php를 사용하여 접근할 수 있음). 몇 가지 조사 끝에 위치와 Proxy_pass 모두에서 슬래시를 제거하여 다음과 같이 만드는 솔루션을 생각해냈습니다.

location ~ ^/test/([0-9]+) {
    #allow our.ip/32;
    proxy_pass http://127.0.0.1:$1;
}

이것은 대부분의 예에서 찾을 수 있는 것과 거의 비슷하지만 작동하지 않습니다. 단지 502인데 이유를 알 수 없습니다.

편집하다

다음은 요청의 nginx 오류 로그입니다.

2021/01/11 14:21:49 [error] 88542#88542: *19093 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: my.server.address, request: "GET /test/1480/ HTTP/2.0", upstream: "http://127.0.0.1:1480/test/1480/", host: "my.server.address"

"/test/"를 원격 호스트에 전달하면 안 됩니다...

관련 정보