Nginx - 透明地將流量重新導向到另一個伺服器區塊

Nginx - 透明地將流量重新導向到另一個伺服器區塊

我有一個帶有兩個虛擬主機(區塊)的 NGINX 配置server {}:一個在主網域上為人類可讀的網站提供服務,另一個則充當子網域上的專門服務的反向代理。

http {
    <...>

    server {
        listen 443 ssl http2;
        server my.tld;
        <...>

        location / {
            root /srv/http;
            <...>
        }
    }

    server {
        listen 443 ssl http2;
        server svc.my.tld;

        <complex reverse-proxy setup with many location blocks>
    }
}

由於某種原因,專業服務的某些客戶端將其請求發送到主網域(即我看到my.tld/api/endpoint而不是svc.my.tld/api/endpoint在日誌中)。我無法修復這些客戶端。他們也不遵循重定向。

有沒有辦法透明地將這些請求重定向到正確的server {}區塊,而無需在主伺服器區塊中複製整個反向代理配置?

相關內容