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 {}块,而无需在主服务器块中重复整个反向代理配置?

相关内容