Estamos tentando usar o NGINX como um proxy reverso para filtrar as solicitações de URL. Basicamente, se você não digitar o URL correto, você não terá acesso.
Aqui está a configuração do meu site do servidor:
server {
listen 192.168.1.63:443;
ssl on;
ssl_certificate /etc/nginx/ssl/ssl.crt;
ssl_certificate_key /etc/nginx/ssl/ssl.key;
server_name domain.test.com;
set $upstream 192.168.1.10;
location ~* /(domain1|domain2|domain3|domain4|%7FVIC) {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://$upstream;
}
}
Tudo funciona bem, exceto pelo %7FVIC
. O aplicativo que estamos tentando proteger, os clientes precisam acessar uma variável / algo na raiz do site. Então o URL é: https://domain.test.com/%7FVIC01663918
Quando vejo os logs, parece que o NGINX está interceptando a variável e a reescrevendo. Aqui está o trecho dos registros de erros:
2018/06/18 14:57:30 [error] 11647#11647: *16 open() "/usr/share/nginx/htmlVIC01663918" failed (2: No such file or directory), client: xx.xx.xx.xx, server: test.domain.com, request: "POST /%7FVIC01663918 HTTP/1.1", host: "test.domain.com", referrer: "https://test/domain.com/domain1/"
Parece que está mudando o %7FVIC
para /htmlVIC01663918
Então, como podemos fazer com que o NGINX ignore apenas essa variável ou ignore e pare de alterá-la?