配置nginx以支持多个子域和上游

时间:2019-07-27 15:51:09

标签: nginx proxy proxypass nginx-config server-name

我一直在尝试将nginx设置为代理,其中基于子域将请求路由到上游。我希望例子能使它更清楚

upstream ubuntu {
  server  www.ubuntu.com:443;
}
upstream google {
  server  www.google.com:443;
}

server {
        listen 443 ssl ;

        ssl_certificate /etc/ssl/certs/client-certs/server.crt;
        ssl_certificate_key /etc/ssl/certs/client-certs/server.key;
        ssl_session_timeout 5m;
        ssl_protocols  TLSv1.2;
        resolver 127.0.0.1 ipv6=off;

    # Make site accessible from http://localhost/
    server_name ~^(.*)\.test\.com$;

    location / {
            proxy_pass https://$1;
            proxy_set_header X-Forwarded-Proto $scheme;
    }
}

因此,如果我请求https://google.test.com,则应转到https://www.google.com

使用此当前设置,nginx返回我查询的任何站点的404。虽然我可以看到该请求转到了我查询的上游站点(在本例中为google.com)。

如果丢失任何东西都不会得到。

0 个答案:

没有答案