nginx-ui/docs/zh_TW/guide/nginx-proxy-example.md
Jacky e500ce98e8
Some checks are pending
Build / build_app (push) Waiting to run
Build / build (386, linux) (push) Blocked by required conditions
Build / build (386, windows) (push) Blocked by required conditions
Build / build (amd64, darwin) (push) Blocked by required conditions
Build / build (amd64, linux) (push) Blocked by required conditions
Build / build (amd64, windows) (push) Blocked by required conditions
Build / build (arm, 5, linux) (push) Blocked by required conditions
Build / build (arm, 6, linux) (push) Blocked by required conditions
Build / build (arm, 7, linux) (push) Blocked by required conditions
Build / build (arm64, darwin) (push) Blocked by required conditions
Build / build (arm64, linux) (push) Blocked by required conditions
Build / build (arm64, windows) (push) Blocked by required conditions
Build / build (loong64, linux) (push) Blocked by required conditions
Build / build (mips, linux) (push) Blocked by required conditions
Build / build (mips64, linux) (push) Blocked by required conditions
Build / build (mips64le, linux) (push) Blocked by required conditions
Build / build (mipsle, linux) (push) Blocked by required conditions
Build / build (riscv64, linux) (push) Blocked by required conditions
Build / docker-build (push) Blocked by required conditions
CodeQL / Analyze (go) (push) Waiting to run
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
Build Documents / build (push) Waiting to run
chore: update docs
2025-05-08 11:15:40 +08:00

2.1 KiB
Raw Blame History

Nginx 反向代理範例

在本指南中,我們將引導您設定 Nginx 伺服器以將 HTTP 流量重導向到 HTTPS併為監聽在 http://127.0.0.1:9000/ 上的 Nginx UI 設定反向代理。

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

    server_name     <your_server_name>;
    rewrite ^(.*)$  https://$host$1 permanent;
}

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen  443       ssl;
    listen  [::]:443  ssl;
    http2   on;

    server_name         <your_server_name>;

    ssl_certificate     /path/to/ssl_cert;
    ssl_certificate_key /path/to/ssl_cert_key;

    location / {
        proxy_set_header    Host                $host;
        proxy_set_header    X-Real-IP           $remote_addr;
        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto   $scheme;
        proxy_http_version  1.1;
        proxy_set_header    Upgrade             $http_upgrade;
        proxy_set_header    Connection          $connection_upgrade;
        proxy_pass          http://127.0.0.1:9000/;
        proxy_buffering     off;
    }
}

設定檔案包括兩個 Nginx 伺服器區塊。第一個伺服器區塊偵聽 80 連接埠HTTP並將所有傳入的 HTTP 請求重導向到 HTTPS。它還監聽 IPv6 地址。將 <your_server_name> 替換為您的伺服器名稱。

第二個伺服器區塊監聽 443 連接埠HTTPS以及 HTTP/2 協議。同樣,它也監聽 IPv6 地址。將 <your_server_name> 替換為您的伺服器名稱,並將 SSL 證書和金鑰的路徑替換為 /path/to/ssl_cert/path/to/ssl_cert_key

此外,設定包括一個 map 指令,用於根據 $http_upgrade 變數設定 $connection_upgrade 變數的值,該變數用於 WebSocket 連線。

在第二個伺服器區塊中,location / 部分包含代理設定,將請求轉發到本機連接埠 9000 。代理設定還包括一些用於正確處理轉發請求的信頭,如 HostX-Real-IPX-Forwarded-ForX-Forwarded-ProtoUpgradeConnection