나는 정적 페이지 제공자에서 페이지를 디자인했으며, 내가 소유한 www.example.org(nginx 서버에 도달하는) 도메인을 탐색할 때 해당 페이지를 사용할 수 있도록 하고 싶습니다.
대상 : https://www.example.org/a/b
-->https://static-page-provider.com/c
- 사용자가
https://www.example.org/a/b
URL을 입력합니다. - 내가 호스팅하는 nginx 프록시는
https://www.example.org
정확한 경로 /a/b에서 요청을 수신하고 Proxy-pass를 수행해야 합니다.- 원격 서버는
https://static-page-provider.com/c
HOST 헤더와 함께 GET 요청을 받아야 합니다.static-page-provider.com
- 원격 서버는
- 사용자는
https://www.example.org/a/b
URL에서 확인해야 합니다. - 슬래시가 있는 최종 주소에 대해서도 동일하게 작동해야 합니다.
https://www.example.org/a/b/
--> (실제로 두 가지 경우 중 하나 인지는https://static-page-provider.com/c/
상관하지 않습니다./c/
/c
보존되어야 한다
- https://www.example.org/a/b2-->https://www.example.org/a/b2
- https://www.example.org/a/b/c-->https://www.example.org/a/b/c
- https://www.example.org/a-->https://www.example.org/a
가능합니까? (또는 이를 불가능하게 만드는 보안 관련 문제가 있습니까?) 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를 사용할 때 작동하지만 보안 연결이 필요합니다.