我一直在尝试将 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)。
如果我缺少任何东西,就得不到。