Então eu tive meu último problema de "proxy reverso" corrigido com relação a "mapear" uma porta para uma subpasta. Obrigado novamente a essa incrível comunidade.
Eu consegui trabalhar com essa solução por um tempo, mas agora estou enfrentando um novo problema. A situação é:
Há uma configuração de página da Web (usando nginx) com esse url http://test.domain.com:8042/view.html
. Eu precisava, por vários motivos, que essa porta se transformasse em uma subpasta e a conseguisse (com ajuda) e ganhasse http://test.domain.com/view/view.html
.
O proxy_pass para isso é:
location ~/view(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host:$server_port;
proxy_pass http://test.domain.com:8042$1;
Isso funciona incrível. Eu posso acessar a página acima de http://test.domain.com/view/view.html
. Existem vários websockets nessa página, um também tem a porta 8042. Este funciona bem. No entanto, os outros websockets têm portas diferentes, e. 8159. Eu adicionei um proxy_pass respectivo à configuração do nginx:
location ~/cantrace(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host:$server_port;
proxy_pass http://test.domain.com:8159$1;
Do Javascript, este websocket é chamado via
my_websocket = new WebSocket('ws://test.domain.com/cantrace/ws');
mas isso não funciona. Nem faz
my_websocket = new WebSocket('ws://test.domain.com/view/cantrace/ws');
O que funciona, no entanto, é
http://test.domain.com:8042/view.html
e depois carrega os outros websockets em view.html com
my_websocket = new WebSocket('ws://test.domain.com/cantrace/ws');
que anteriormente não funcionava.
Então, claramente, o proxy_pass duplo com / view e / cantrace é um problema aqui. Existe uma maneira de contornar isso com o nginx?
Muito obrigado!
Patrick