Roteamento de Webapp com nginx

1

Eu tento servir um webapp com o nginx, e tudo corre bem enquanto eu solicito o URL raiz, como o link ( Eu não tenho um nome de domínio, então o endereço IP e a porta são usados)

O aplicativo tem seu próprio roteamento interno e eu gostaria de usá-lo na barra de endereços do navegador, como o link .

Eu obtenho o 404, já que o nginx procura diretórios na pasta raiz, eu acho.

Alterei minha configuração para ficar assim:

server {
    listen 8002 default_server;
    server_name _;
    root /home/ubuntu/sites/mysite-frontend;

    location ~ /.* {
        rewrite "/.*" / last;
    }
}

e agora recebo o código de status 500 e o log mostra o seguinte:

2016/09/08 08:36:27 [error] 29869 # 0: * 3 reescrita ou ciclo de redirecionamento interno durante o processamento "/", cliente: yyy.yyy.yyy.yyy, servidor: _, solicitação: " GET / profile HTTP / 1.1 ", host:" xxx.xxx.xxx.xxx:8002 "

Como devo alterar minha configuração para que ela funcione?

    
por Mike Doudkin 08.09.2016 / 10:51

1 resposta

0

É seu webapp /index.html . O valor padrão para a index diretiva é index.html , e é por isso que a configuração padrão funciona com o / URI.

Você deve adicionar uma try_files diretiva com a ação padrão de /index.html , em cujo caso todos os URIs que apontam para um arquivo estático inexistente serão roteados para sua webapp.

server {
    listen 8002 default_server;
    index index.html;
    root /home/ubuntu/sites/mysite-frontend;

    location / {
        try_files $uri $uri/ /index.html;
    }
}

Eu tornei a diretiva index explícita (mas não é necessário neste caso).

    
por 08.09.2016 / 11:25

Tags