Saltar al contenido principal

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_ADDR al 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:

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:

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_PROXIES no está establecido, las solicitudes no se bloquean.