como separar subpáginas com nginx para apontar para diferentes servidores nodejs

1

Estou executando dois nodejs servidores em minha máquina e quero que mydomain.example.com/ seja atendido por um dos servidores, exceto mydomain.example.com/exception . Estou usando nginx e tentei fazer isso, mas não funcionou. Como isso pode ser feito?

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;
    }


}

EDITAR : Meu problema é que o pedido de mydomain.example.com/exception é servido pelo servidor na porta 8081, não no 9000.

EDIT 2 : Eu interpretei mal o comportamento da edição anterior. mydomain.example.com/exception é atendido pelo servidor na porta 9000, mas esperava que mydomain.example.com/exception fosse a raiz desse servidor, mas isso não aconteceu. Achei que essa configuração tornaria mydomain.example.com/exception o equivalente a mydomain.example.com:9000 , mas isso torna mydomain.example.com:9000/exception . Portanto, a pergunta atualizada seria: Eu quero que mydomain.example.com/exception funcione exatamente da mesma maneira como se eu tivesse acessado o servidor pela porta designada 9000. Como isso pode ser feito?

    
por fbence 03.11.2017 / 16:42

0 respostas

Tags