Adicione uma barra à sua diretiva proxy_pass.
proxy_pass http://127.0.0.1:6079/;
Dedos cruzados cruzaram as obras ... levei 30 segundos no Google para resolver isso.
Atualmente, tenho essa configuração para um proxy reverso no nginx
server {
listen 8888 default_server;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri @proxy;
}
location = / {
try_files $uri @proxy2;
}
location = /redirect.html {
try_files $uri @proxy2;
}
location ~ /user/(.*)$ {
try_files index.html @proxy2;
}
location @proxy2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:6079;
max_ranges 0;
}
location @proxy {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:6081;
max_ranges 0;
}
location = /websockify {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:6081;
}
}
Meu problema é que eu tenho um URL do tipo http://example.com:8888/user/username
e preciso redirecioná-lo para localhost:6079
. Infelizmente, o que está escutando na porta 6079 quer a URL sem a parte /user/username
. No meu entender, quando tento usar essa configuração, recebo um frasco gerado (o aplicativo na porta 6079 é um aplicativo de frasco). Eu tentei praticamente tudo por toda a tarde, incluindo a reescrita do URL, codificando o URL real e outros truques da documentação do nginx, mas não consegui encontrar uma solução de trabalho.
Observe que, se eu me conectar diretamente ao link , o aplicativo funciona bem, então parece ser mesmo essa configuração nginx.
Editar :
Eu tentei modificar como sugerido e adicionar o / na linha proxy_pass proxy2, mas ele reclama como explicado aqui
Quanto aos logs, não vejo nada inesperado, exceto que se eu conectar ao localhost: 8888 / user / username, ele mostrará um 404, e se eu me conectar ao localhost: 8888, eu vejo o aplicativo do frasco.
Lembre-se de que o nginx está em uma imagem de encaixe, mas eu navego na máquina host, portanto, 127.0.0.1 no nginx é a instância do docker e, quando eu navego no 127.0.0.1, é a máquina host e a porta através da ponte que eu configurei quando iniciei o container.
Editar 2
Logs não contam muito.
172.17.42.1 - - [10/May/2016:22:14:05 +0000] "GET /user/sborini/redirect.html?width=1375&height=695 HTTP/1.1" 200 212 "http://localhost:8888/user/sborini/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
172.17.42.1 - - [10/May/2016:22:14:05 +0000] "GET /user/sborini/vnc_auto.html HTTP/1.1" 404 166 "http://localhost:8888/user/sborini/redirect.html?width=1375&height=695" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
172.17.42.1 - - [10/May/2016:22:14:57 +0000] "GET /user/sborini/vnc_auto.html HTTP/1.1" 404 209 "http://localhost:8888/user/sborini/redirect.html?width=1375&height=695" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
172.17.42.1 - - [10/May/2016:22:14:58 +0000] "GET /user/sborini/vnc_auto.html HTTP/1.1" 404 209 "http://localhost:8888/user/sborini/redirect.html?width=1375&height=695" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
172.17.42.1 - - [10/May/2016:22:18:59 +0000] "GET / HTTP/1.1" 200 454 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0"
Veja como obtenho algo se me conectar à entrada simples /
Em todo caso, eu tentei um caso simplificado:
server {
listen 8888 default_server;
root /usr/share/nginx/html;
index index.html index.htm;
location = /user/sborini/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:5555;
max_ranges 0;
}
}
e um netcat ouvindo 5555. Eu recebo um gateway ruim. Investigando.
Adicione uma barra à sua diretiva proxy_pass.
proxy_pass http://127.0.0.1:6079/;
Dedos cruzados cruzaram as obras ... levei 30 segundos no Google para resolver isso.
Tags nginx