Experimente as condicionais na sua seção de localização:
if ($request_uri !~ (.+(jwt=).+) ) {
rewrite ^/(.*)$ / break;
}
Você deve alterar o regex para request_uri de acordo com suas necessidades
Eu tenho um aplicativo java que está por trás do passe do proxy nginx. Quando o URL é chamado, o aplicativo cria automaticamente um caminho para o conteúdo exibido.
Então, quando você chamar https://somedomain.com
, receberá https://somedomain.com/todayisaniceday
Esta é a diretiva de passagem de proxy e a regra de reescrita no meu nginx:
location /URI{
proxy_pass http://IP:PORT/URI;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
location ~ ^/([a-zA-Z0-9=\?]+)$ {
rewrite ^/(.*)$ / break;
}
Estou implementando um mecanismo de autenticação de token.
O que eu gostaria de alcançar é o seguinte:
quando você liga:
https://somedomain.com/something?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
O URL permanecerá e não será reescrito pelo aplicativo java.
Então, basicamente, quando há essa string ?jwt=
na URL, ela deve ficar com ela e tudo por trás dela.
Eu estava tentando algo assim:
rewrite ^/(.*)$ /?jwt=$1 break;
, mas sem sucesso.
Alguma idéia?
Obrigado pela ajuda.
Experimente as condicionais na sua seção de localização:
if ($request_uri !~ (.+(jwt=).+) ) {
rewrite ^/(.*)$ / break;
}
Você deve alterar o regex para request_uri de acordo com suas necessidades
Tags proxy nginx rewrite http-proxy