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 上的請求,並且必須代理傳遞:
    • 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適用於這兩種情況中的任何一種

應該保留

是否可以 ? (或是否有安全隱患使這成為不可能?)。我收到 502 Bad Gateway,並且在日誌中看到 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;
  }

如果包含最終內容的實際 URLhttps://static-page-provider.com/c/返回 301 重定向(例如到https://static-page-provider-2.com/c/),是否有可能遵循使用者的重定向,而使用者仍然看到https://www.example.org/a/b

使用 nginx/1.12.2

編輯:在沒有 httpS 的靜態提供者上使用 proxy_pass 時它有點工作,但隨後我需要有一個安全連接。

相關內容