NGINX 三級網域轉發

NGINX 三級網域轉發

我有兩個本地網路應用程序,應該可以從外部網路訪問,但只有一個外部IP。兩個網路應用程式都使用無法更改的 443 連接埠。因此,任務就是以這種方式配置nginx,使其能夠基於三級網域轉送傳入的請求。假設我的網頁應用程式位於192.168.1.55 和192.168.1.65 我的公共IP 是9*.23*.15*.12 並且我配置了2 個dns A 條目site1.example.com 和site2.example.com ,它們都是映射到我的公共IP。在我的理想世界中,我希望 nginx 將 $server_name = site1.example.com 的所有傳入請求轉發到 192.168.1.55 並將 $server_name = site2.example.com 轉發到 192.168.1.65 請告知如何實現。目前,我只能配置簡單轉發到其中一個網頁應用程式。

server {
    listen 443 ssl http2;
    server_name site1.example.com;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/blog.zeroxzed.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blog.zeroxzed.ru/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    location /.well-known/acme-challenge/ {
    root /web/sites/example.com/www/;
    }

    location / {
    proxy_pass https://192.168.1.55;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    }
}

相關內容