
Quando estou com meu navegador, faço uma chamada parahttp://myhost/tiles/yellow/1/2/3.png, eu esperaria obter conteúdo dehttp://meuhost/cache/yellow.png Minha configuração é a seguinte
location /cache/ {
alias /my/path/cache/;
}
location /tiles/ {
try_files $uri $uri/ @rulestiles;
}
location @rulestiles {
rewrite "^/tiles/([a-zA-Z1-9]*)/[0-9]{2}/[0-9]{6}/[0-9]{6}\.png$" /cache/$1\.png permanent;
}
O que eu sinto falta? É porque não uso captura em todos os lugares, pois não preciso de todos os parâmetros?
Também não quero usar links simbólicos, pois precisaria de centenas de milhões de links simbólicos para apenas algumas centenas de arquivos reais...
Obrigado por qualquer orientação/ajuda
Responder1
Graças ao Alexey Ten
comentário em minha pergunta, consegui corrigir meus vários erros.
Primeiro, meu regex estava errado, então não estava capturando parâmetros durante o teste
Então, também mudei rewrite
para proxy_pass
para manter meu URL igual
location /cache/ {
alias /my/path/cache/;
}
location ~ "/tiles/(?<section>[a-zA-Z1-9]*)/[0-9]{1,2}/[0-9]{1,6}/[0-9]{1,6}.png$" {
proxy_pass http://my.tested.ip.code/cache/$section.png;
proxy_set_header Host $host;
}
onde my.tested.ip.code
está o IP do servidor.