iT邦幫忙

0

nginx 使用 reverse proxy 時upstream 設定問題

想問一個nginx upstream的問題

我設定reverse proxy的proxy_pass到lan外的一個網站沒問題,
取例如下,這裡假設是xoxo網站

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location ^~ /tw/ {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass https://www.xoxo.com.tw:8080;
    }
}

但因為想用load balance 新增了upstream後就不行了
也是在lan外的網站,舉例如下

upstream backend {
    server www.xoxo.com.tw:8080;
    server www2.xoxo.com.tw:8080 backup;
}
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location ^~ /tw/ {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass https://backend;
    }
}

即使我在upstream只保留一個server 設定值server www.xoxo.com.tw:8080;也是不行
查了一些資料還是不太清楚,上來問問看各位先進

感謝

1 個回答

0
bizpro
iT邦大師 1 級 ‧ 2019-02-22 22:13:25

當您要proxy SSL/TLS連線時, 如 proxy_pass https://backend;
您需要有SSL/TLS證書和proxy相關設定. client, proxy, 和upstream之間有多重的https握手.

官網說明:
https://docs.nginx.com/nginx/admin-guide/security-controls/securing-http-traffic-upstream/

參考設定與說明:
https://gist.github.com/WhisperingChaos/033699f3b8d0df89ac50ab185b8628b4

我要發表回答

立即登入回答