Algunas de nuestras interfaces implican cambios en la información del usuario, y estas interfaces solo permiten que la parte de acceso nos ajuste, así que tenemos una lista blanca de IP en nginx.
Está equipado con la IP de salida de la parte de acceso.
Aquí están los registros de nuestro acceso nginx.
nginx toma nuestro $remote_addr como la IP real, pero en realidad, $http_X_Forwarded_For es la IP real del usuario, $remote_addr es simplemente la dirección de red privada de nuestro f5 (usuario -->f5 --> nginx), lo que hace que nginx tome el nombre incorrecto y el usuario que ajuste la interfaz siempre sea 403.
Solución:
En el módulo http plus
set_real_ip_from 10.10.10.122; Dile a nginx que obtenga el valor de RealIP desde ahí
real_ip_header X-Real-IP; El nombre de la variable que almacena el valor RealIP
¡Enlatar!
Aquí comenzamos el informe nginx después de añadir:
nginx: [emerg] unknown directive "set_real_ip_from" in /home/lnidmp/nginx/conf/nginx.conf:26
Así que añadimos el módulo realip y recompilamos nginx
1、cd /usr/local/nginx-1.6.3 2、./configure --prefijo=/usr/cmcc/nginx --con-http_stub_status_module --con-http_ssl_module --con-http_realip_module 3、Hacer &&Hacer instalación
Consejos:
1. set_real_ip_from se refiere a la IP real del usuario obtenida de la cual confiaba el pre-proxy
2. real_ip_header se refiere a la IP de usuario de la transmisión proxy anterior de la que se obtiene la parte HTTP del mensaje recibido
3. real_ip_recursive Si excluir recursivamente hasta obtener la IP del usuario (por defecto está desactivado)
Primero, real_ip_header especificar un nombre de cabecera http, que por defecto es X-Real-IP.
(1) Si hay 1 IP, comprobará si la IP del remitente está en la lista de IPs confiables especificada por el set_real_ip_from. Si se le confía, pensará que el valor IP en esta X-Real-IP es el valor real de IP del usuario indicado por el agente anterior, por lo que asignará este valor a su propia variable $remote_addr; Si no se confía, no se procesará y $remote_addr sigue siendo la dirección IP del remitente.
(2) Si X-Real-Ip tiene múltiples valores IP, por ejemplo, el proxy anterior se establece así: proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for;
Lo que obtienes es una cadena de IPs, así que el valor de real_ip_recursive es crucial en este momento. nginx comparará las IPs de la lista de confianza set_real_ip_from de derecha a izquierda en la lista de IPs. Si la real_ip_recursive está desactivada, entonces cuando se descubre que la IP más a la derecha es una IP confiable, se piensa que la siguiente IP (la segunda a la derecha) es la IP real del usuario. Si el real_ip_recursive está activado, se comparará de derecha a izquierda hasta que encuentre una IP no confiable. Luego copia también el valor de IP a $remote_addr.
Recursos:
https://help.aliyun.com/document_detail/54007.html
https://help.aliyun.com/knowledge_detail/55198.html
https://www.linux178.com/web/nginx-get-realip.html
|