如何使用 nginx 分离子页面以指向不同的 nodejs 服务器

如何使用 nginx 分离子页面以指向不同的 nodejs 服务器

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/exceptionmydomain.example.com:9000但它使它成为mydomain.example.com:9000/exception。 因此,更新后的问题是:我希望mydomain.example.com/exception以与通过指定端口 9000 访问服务器完全相同的方式工作。 如何做到这一点?

相关内容