Un poco confundido acerca del comportamiento de la barra diagonal en nginx
Seguir Slash en nginx me ha estado provocando algunas noches de insomnio últimamente. Solicitando ayuda con esto
Pregunta : Extraño comportamiento de barra diagonal en proxy_pass
.
Entonces, ¿por qué funcionaría esto?
location /myapi/ {
proxy_pass http://node_server8/;
}
y esto no lo hará
location /myapi/ {
proxy_pass http://node_server8;
}
Observe la barra diagonal que falta al final del http://node_server8
segundo bloque de código. Esto es especialmente extraño ya que tengo algunas otras configuraciones en las que no tengo una barra diagonal en el backend y todo funciona bien.
Son totalmente diferentes.
En la primera proxy_pass
declaración ha incluido un parámetro URI con un valor de /
. En el segundo no lo has hecho.
Cuando proporciona proxy_pass
un parámetro URI (dentro de un prefijo location
), transforma el URI solicitado de manera similar a la alias
función, mediante la cual el valor de la location
directiva se sustituye por el valor del parámetro URI. Por ejemplo /myapi/foo
, se convierte /foo
antes de pasar río arriba.
Si no proporciona proxy_pass
un parámetro URI, no se realiza ninguna transformación y la solicitud /myapi/foo
se pasa en sentido ascendente sin cambios.
Consulte este documento para obtener más detalles.