Como fazer um redirecionamento da localização raiz no nginx sem impedir o acesso a sub-locais?

0

Como obter o nginx para redirecionar para outro caminho apenas se o caminho da raiz for solicitado?

Aqui faz parte da configuração do meu servidor:

server {
        listen     80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

    # Make site accessible from http://localhost/
    server_name wiki wiki.leerdomain.lan;

    # Note: There should never be more than one root in a 
    #       virutal host
    #   Also there should never be a root in the location.
    #root /var/www/nginx/;

    rewrite ^/$ /rootWiki/ redirect; 


    location ^~ /rootWiki/ {
            resolver 127.0.0.1 valid=300s;
            access_log ./logs/RootWiki_access.log;
            error_log ./logs/RootWiki_error.log;
            proxy_buffers 16 4k;
            proxy_buffer_size 2k;
            proxy_set_header Host $host;
            proxy_set_header X-Real_IP $remote_addr;
            rewrite /rootWiki/(.*) /$1 break;
            proxy_pass http://192.168.1.200:8080;
        }

   location ^~ /usmle/ {
    access_log ./logs/usmle_access.log;

 ...

Ao configurá-lo como acima, não consigo acessar nenhum dos subdiretórios em root ..., mas o diretório raiz encaminha para /rootWiki/ , mas eu recebo um 502 Bad Gateway em vez do aplicativo na porta 8080.

Quando eu removo a linha:

rewrite ^/$ /rootWiki/ redirect;

Consigo acessar o aplicativo rootWiki e todos os sub-locais do root bem.

Parece-me que deveria funcionar, mas não parece.

    
por leeand00 25.01.2018 / 19:22

0 respostas

Tags