Un poco confundido acerca del comportamiento de la barra diagonal en nginx

Resuelto Utopia asked hace 5 años • 1 respuestas

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_server8segundo 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.

Utopia avatar Dec 06 '18 17:12 Utopia
Aceptado

Son totalmente diferentes.

En la primera proxy_passdeclaración ha incluido un parámetro URI con un valor de /. En el segundo no lo has hecho.

Cuando proporciona proxy_passun parámetro URI (dentro de un prefijo location), transforma el URI solicitado de manera similar a la aliasfunción, mediante la cual el valor de la locationdirectiva se sustituye por el valor del parámetro URI. Por ejemplo /myapi/foo, se convierte /fooantes de pasar río arriba.

Si no proporciona proxy_passun parámetro URI, no se realiza ninguna transformación y la solicitud /myapi/foose pasa en sentido ascendente sin cambios.

Consulte este documento para obtener más detalles.

Richard Smith avatar Dec 06 '2018 11:12 Richard Smith