Como posso usar expressões regulares em um local nginx com proxy_pass?

1

Eu gostaria de fazer algo como:

location ~ ^/authorize/(\w+)$ {        
    proxy_pass http://my.vm/auth;
    proxy_pass_request_body on;
    proxy_set_header MY_CUSTOM_HEADER $1;
    proxy_pass_request_headers on;
}

No entanto, recebo a seguinte mensagem de erro:

nginx: [emerg] "proxy_pass" cannot have URI part in
location given by regular expression, or inside named location,
or inside "if" statement, or inside "limit_except" block in
nginx.conf

Qualquer ajuda seria apreciada.

Obrigado antecipadamente

    
por john 11.01.2016 / 00:05

1 resposta

1

A mensagem de erro está correta, não é uma configuração válida. Há uma solução que lembra vagamente a leitura sobre o que essas outras perguntas descrevem

O regex de local do Nginx não funciona com o proxy pass

Nginx. Usando redirecionamentos com expressões regulares

Há também muitos artigos a serem encontrados pelo Google. Se a solução acima não funcionar, você terá que repensar sua abordagem.

    
por 11.01.2016 / 00:38

Tags