Estoy tratando de entender nginx un poco mejor y tratando de formar una expresión regular donde cada url que NO coincide /api/postdataV1
se enruta a un grupo diferente de servidores. Sigo viendo estas dos cosas en ejemplos sin explicación
location ~ {some regex}
location ~* (some regex}
Mi primera pregunta es qué son estos ~
y ~*
(creo que ~
solo significa que estoy especificando una expresión regular), pero ¿qué pasa ~*
entonces?
Lo que creo que lo que quiero es esto. ¿Sería esto correcto?
location ~ ^/api/postdataV1$ {
#matches to this route to where I want
}
location / {
#This will be everything except /api/postdataV1 I think
}
¿Sería esto correcto? pero que pasa con el ~*
... no entiendo ese
gracias Dean
nginx location
, el primer éxito es este :) pero debo admitir que uno debe acostumbrarse a la documentación nginx, especialmente. encontrar las cosas correctas debajo de la sección de módulos.Respuestas:
Como se indica en la documentación de nginx ,
~*
regex es para la coincidencia entre mayúsculas y minúsculas y~
para mayúsculas y minúsculas.Su sintaxis está bien, pero puede reescribirse sin expresiones regulares (la ubicación más corta es la última en la coincidencia de solicitudes):
fuente
/api/PostData
que no coincidirá sin~*