Por que o nginx remove um / no URL?

2

Nós usamos o nginx como proxy para o nosso servidor 1.2.7. Algumas das rotas em jogo usam um <. * > curinga, o aqui em questão parece

GET     /media/{bucket}/{id}/inline/{<.*>config}    MediaCtl.getMediaInlineImgIx

A configuração pode conter um servidor http e, por algum motivo, o nginx retira um dos / em http: //. Por exemplo:

13:07:59,299 INFO  [play] ~ Anonymous Guest ~ MediaCtl.getImgIx(): config {"w":100,"h":65,"origin":"http:/localhost:8080","fit":"max"}

ao usar o nginx via localhost: 8080. Ao chamar localhost: 9010 diretamente eu recebo

13:19:25,648 INFO  [play] ~ Anonymous Guest ~ MediaCtl.getImgIx(): config {"w":100,"h":65,"origin":"http://localhost:9010","fit":"max"}

Não vejo mensagens em access.log ou error.log com relação ao conflito de URL que parece ocorrer. Alguma sugestão sobre como consertar isto?

    
por TeTeT 19.10.2015 / 13:23

1 resposta

2

O nginx mescla barras de URLs no padrão veja: link

Você deve usar: merge_slashes off;

    
por 19.10.2015 / 13:59

Tags