
Cuando con mi navegador hago una llamada ahttp://mihost/tiles/amarillo/1/2/3.png, esperaría obtener contenido dehttp://mihost/cache/amarillo.png Mi configuración es la siguiente
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;
}
¿Qué extraño? ¿Es porque no uso la captura en todas partes porque no necesito todos los parámetros?
Tampoco quiero utilizar enlaces simbólicos ya que necesitaría cientos de millones de enlaces simbólicos para sólo unos cientos de archivos reales...
Gracias por cualquier orientación/ayuda.
Respuesta1
Gracias a Alexey Ten
comentar en mi pregunta, pude corregir mis diversos errores.
Primero, mi expresión regular era incorrecta, por lo que no estaba capturando parámetros al realizar la prueba.
Luego, también cambié rewrite
a proxy_pass
para mantener mi 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;
}
¿Dónde my.tested.ip.code
está la IP del servidor?