Descripción general
Los proxies de confianza se utilizan para determinar correctamente la dirección IP del cliente cuando la solicitud pasa a través de terminadores TLS, balanceadores de carga o gateways. En despliegues típicos, donde el backend está detrás de un único frontend y no es accesible directamente, la aplicación funciona correctamente sin ninguna configuración adicional. Sin embargo, algunos entornos requieren una configuración explícita de proxy, como escenarios de cumplimiento normativo, protección mejorada contra fuerza bruta o configuraciones de proxy multicapa.
Valores predeterminados
- Passwork confía en todos los valores de
REMOTE_ADDRal determinar la dirección IP del cliente; - La dirección IP se extrae de uno de los encabezados predeterminados, si al menos uno de ellos está presente;
- El acceso al backend no se restringe hasta que se defina al menos una dirección en
TRUSTED_PROXIES.
CLIENT_IP_SOURCES
CLIENT_IP_SOURCES le permite definir explícitamente la lista de encabezados de los cuales se extraerá la dirección IP del cliente.
Detalles:
- Puede especificar encabezados o la variable de servidor REMOTE_ADDR;
- Cada encabezado especificado debe comenzar con el prefijo HTTP_;
- Si se establecen uno o más valores, solo se utilizarán los encabezados especificados;
- Se pueden proporcionar múltiples encabezados como una lista separada por comas;
- Los encabezados se procesan en el orden en que están listados — de primero a último;
- Si la variable no está establecida, se utiliza la lista predeterminada de encabezados. Puede verla ejecutando
php bin/console app:env:report.
Ejemplo:
- shell
CLIENT_IP_SOURCES=HTTP_X-Forwarded-For,HTTP_X-Real-IP
TRUSTED_PROXIES
TRUSTED_PROXIES define una lista de servidores proxy de confianza.
Debe especificar las direcciones IP o rangos CIDR de los proxies, correspondientes al REMOTE_ADDR del último nodo antes de la aplicación (por ejemplo, un balanceador de carga o controlador ingress).
Formato:
- shell
TRUSTED_PROXIES=192.168.1.10,10.0.0.0/16
Detalles:
- Los valores pueden ser IPs individuales o rangos CIDR;
- Se permiten múltiples entradas, separadas por comas;
- Si el formato es incorrecto, la aplicación devolverá un error de configuración;
- Si
TRUSTED_PROXIESno está establecido, las solicitudes no se bloquean.