proxy_pass utiliza variables integradas para informar errores
Hace dos días, un compañero de clase mencionó un problema: hay un nombre de dominio a.fangle.com, y el uri que contiene parámetros específicos se reenvía al módulo de aplicación del nombre de dominio b.fangle.com. El efecto que debe lograr la solicitud es aproximadamente el siguiente:
La configuración de nginx es aproximadamente la siguiente:
pero sigue obteniendo 502, así que vine a jugar.
Encontramos error_log
Esto se debe a que proxypass usa variables nginx y realizará automáticamente la resolución inversa del nombre de dominio.
Solución:
Reinicie y encuentre un nuevo error
Después de activar el servicio DNS local:
Por supuesto que puede decir: ¿No puedo resolver? Creo que sólo quieres avergonzarme, Tigre Gordo.
De hecho, también es posible. Si proxy_pass no especifica el uri, nginx traerá automáticamente el uri actual.
Sin embargo, esta dirección reqest_uri no es la que queremos. todavía tenemos que repetirlo Escriba la siguiente uri para usarlo
Abandone esta idea
No se permite modificar las variables integradas de nginx
. Para probar
Si se permite cambiar el nombre de dominio, también puede considerar usar return o reescribir
return es el método de reenvío más simple de nginx
Efecto :
El efecto es el mismo que return
reescribir. No hay una diferencia esencial con return. Por supuesto, return se usa a menudo en este caso porque la semántica es más clara. rewirte se usa a menudo para reescribir URL, que es un salto interno dentro del servidor y es más eficiente