我有两个子域app.mydomain.com和v1.api.mydomain.com,它们指向相同的IP。我希望将app.mydomain.com代理到localhost:5000,并将v1.api.mydomain.com代理到localhost:1337。
以下配置可以做到这一点(app.mydomain.com / ...由localhost:5000提供服务,而v1.api.mydomain.com / ...由localhost:1337提供服务)除了以下几点:根v1.api.mydomain.com(带有或不带斜杠)的内容不是由localhost:1337提供的,它是由localhost:5000(app.mydomain.com)提供的,因此未显示我的期望。这怎么可能?
启用站点的第一个配置文件:
server {
listen 80;
server_name app.mydomain.com;
location / {
proxy_pass http://localhost:5000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
启用站点的第二个配置文件:
server {
listen 80;
server_name v1.api.mydomain.com;
location / {
proxy_pass http://localhost:1337/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
为确保问题不是由运行在localhost:1337上的服务器进行的某种重定向,我将其关闭,并且问题仍然存在,所以我的nginx配置确实存在问题。感谢您的帮助。