nodejs
我的机器上运行着两个服务器,我mydomain.example.com/
想让其中一个服务器提供服务,除了mydomain.example.com/exception
。我正在使用nginx
并尝试这样做,但没有成功。如何做到这一点?
server {
listen 80;
server_name mydomain.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 default_server ssl;
server_name mydomain.example.com;
keepalive_timeout 70;
ssl_certificate /etc/chained.crt;
ssl_certificate_key /etc/key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://localhost:8081;
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;
}
location /exception {
proxy_pass http://localhost:9000;
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;
}
}
编辑:我的问题是,请求是mydomain.example.com/exception
由端口 8081 上的服务器提供的,而不是由端口 9000 提供的。
编辑2:我误解了上一次编辑中的行为。mydomain.example.com/exception
由端口 9000 上的服务器提供服务,但我期望mydomain.example.com/exception
成为该服务器的根,但事实并非如此。 我以为此配置将相当于mydomain.example.com/exception
,mydomain.example.com:9000
但它使它成为mydomain.example.com:9000/exception
。 因此,更新后的问题是:我希望mydomain.example.com/exception
以与通过指定端口 9000 访问服务器完全相同的方式工作。 如何做到这一点?