nginx 단일 URL을 사용자 정의 서버 단일 URL로 역방향 프록시

nginx 단일 URL을 사용자 정의 서버 단일 URL로 역방향 프록시

나는 정적 페이지 제공자에서 페이지를 디자인했으며, 내가 소유한 www.example.org(nginx 서버에 도달하는) 도메인을 탐색할 때 해당 페이지를 사용할 수 있도록 하고 싶습니다.

대상 : https://www.example.org/a/b-->https://static-page-provider.com/c

  • 사용자가 https://www.example.org/a/bURL을 입력합니다.
  • 내가 호스팅하는 nginx 프록시는 https://www.example.org정확한 경로 /a/b에서 요청을 수신하고 Proxy-pass를 수행해야 합니다.
    • 원격 서버는 https://static-page-provider.com/cHOST 헤더와 함께 GET 요청을 받아야 합니다.static-page-provider.com
  • 사용자는 https://www.example.org/a/bURL에서 확인해야 합니다.
  • 슬래시가 있는 최종 주소에 대해서도 동일하게 작동해야 합니다. https://www.example.org/a/b/--> (실제로 두 가지 경우 중 하나 인지는 https://static-page-provider.com/c/상관하지 않습니다./c//c

보존되어야 한다

가능합니까? (또는 이를 불가능하게 만드는 보안 관련 문제가 있습니까?) 502 잘못된 게이트웨이가 발생하고 내 로그에 SSL 관련 오류가 표시됩니다.

2020/01/23 08:59:43 [error] 30072#0: *499 SSL_do_handshake() failed (SSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error) while SSL handshaking to upstream, client: 172.31.28.3, server: www.example.org, request: "GET /a/b/ HTTP/1.1", upstream: "https://xx.xx.xx.xx:443/c/", host: "www.example.com"

아래 구성을 시도할 때. 또한 이 구성이 정확히 일치하는지 여부도 확실하지 않습니다( /a/b/c규칙의 대상이 됩니까?).

location /a/b/ {
    proxy_pass https://static-page-provider.com/c/;
    proxy_set_header host mydomain.static-page-provider.com;
  }

https://static-page-provider.com/c/최종 콘텐츠가 포함된 실제 URL이 301 리디렉션(예: https://static-page-provider-2.com/c/)을 반환하는 경우 사용자에 대한 리디렉션을 따르고 사용자에게 계속 표시되는 것이 가능합니까 https://www.example.org/a/b?

nginx/1.12.2 사용

편집: httpS가 없는 정적 공급자에서 Proxy_pass를 사용할 때 작동하지만 보안 연결이 필요합니다.

관련 정보