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.
Tags nginx