Configuración de proxy_set_header del proxy de equilibrio de carga de Nginx y protocolo https de transmisión transparente

1. Información general

Recientemente, el equilibrio de carga se basa en la ecología técnica de Nginx + (Nginx + PHP7), el marco PHP usa ThinkPHP5 y el pago WeChat se usa en el negocio de pagos. Hay una lógica: obtener el nombre de dominio solicitado actualmente y el dirección de devolución de llamada del pago WeChat \think\Request::instance()->domain(). El lado del subprograma accede al protocolo https. Después del equilibrio de carga, el protocolo http obtenido en el programa ha provocado que el pago WeChat no pueda devolver la llamada correctamente, lo que hace que el estado del pedido no cambie. Por lo tanto, el protocolo debe transmitirse de forma transparente en la configuración de equilibrio de carga de Nginx. Después de consultar muchos artículos en Internet, la mayoría de ellos solo solicitan IP a través de transmisión transparente y no hay ningún protocolo involucrado, así que lo resumiré en este artículo.

2. comando proxy_set_header

2.1 Descripción de la función

Redefina o agregue encabezados de solicitud a los servidores backend.

2.2 Gramática

2.2.1 Reglas

proxy_set_header field value;

2.2.2 Contexto

http, server, location

2.2.3 Valores predeterminados

Donde la variable $class es una variable disponible para la sesión de solicitud en Nginx
proxy_set_header Host $proxy_host;

proxy_set_header Connection close;

2.3 Descripción de opciones comunes

opciones valor ilustrar
Anfitrión $proxy_host El nombre de dominio/dirección de host proporcionado por el servidor.
X-reenviado-para $proxy_add_x_forwarded_for Se utiliza para identificar la IP de origen a través de un proxy HTTP o un equilibrador de carga.
X-Real-IP $dirección_remota IP del cliente
Proto-reenviado X $esquema Transmitir de forma transparente el protocolo https con equilibrio de carga al backend
Puerto X-Real $puerto_remoto cliente o puerto de nivel superior
Agente de usuario $http_user_agent UA del cliente

Además, también puede personalizar/calcular la transmisión transparente de solicitudes hacia abajo.

3. Resumen

Para escenarios comerciales centrales, como el pago, no se recomienda configurar la dirección de devolución de llamada obteniendo dinámicamente el nombre de dominio. Puede escribir valores fijos en el archivo de configuración, de modo que el ajuste de la arquitectura de implementación no cause accidentes comerciales importantes. Además, para ajustar la arquitectura de implementación, no la reemplace directamente en el entorno de producción, sino que implemente un conjunto de entornos de duplicación. Después de pasar la prueba del proceso central, cambie una pequeña parte del tráfico para verificar y finalmente cambie todo cuando no hay ningún problema.

Supongo que te gusta

Origin blog.csdn.net/oschina_41731918/article/details/129092125
Recomendado
Clasificación