Las instrucciones para la función proxy se definen, así, dentro de la directiva <VirtualHost>. La etiqueta de apertura contiene, además, la dirección IP y el número de puerto en el que el servidor Apache configurado como servidor inverso puede escuchar las solicitudes. Si en ella se tienen que incluir todas las direcciones IP, se utiliza entonces el símbolo *. Los datos incluidos en las etiquetas VirtualHost se dan también en forma de directivas. Al contrario de lo que ocurre con la etiqueta VirtualHost, estos argumentos definen cómo se tienen que tratar las solicitudes entrantes y los paquetes de respuesta. A este respecto, resultan esenciales las directivas ServerName, ProxyPass y ReversePass.
- ServerName: la directiva ServerName define bajo qué nombres primarios se puede acceder a un servidor en Internet. Estos tienen que poder resolverse o bien vía DNS o por medio de los /etc/hosts. En el ejemplo se le indica al servidor Apache que tiene que hacerse cargo de todas las solicitudes en domain.tld.
- ProxyPass: la directiva ProxyPass define la dirección de destino para los reenvíos. El servidor proxy inverso reenviará todas las peticiones dirigidas a la dirección depositada bajo la etiqueta ServerName a la dirección interna consignada en el argumento de la directiva ProxyPass. En el ejemplo se trataría de la dirección IP ficticia 123.456.7.89.
- ProxyPassReverse: un proxy server no solo se ocupa de las peticiones, sino que también transmite los paquetes de respuesta del servidor backend a los clientes. Para impedir que dichas respuestas se entreguen con datos de encabezado que no sean correctos (es decir, con datos del servidor en un segundo plano), la directiva ProxyPassReverse transcribe el encabezamiento de las respuestas del servidor de tal manera que estas se adapten al servidor proxy. El servidor backend permanece anónimo.
Además, en el ejemplo aparecen dos directivas adicionales: ServerAlias y ProxyRequests. Estas no ofrecen funciones básicas para el servidor proxy y son, por lo tanto, facultativas.
- ServerAlias: la directiva ServerAlias permite, junto al nombre del servidor primario, definir un nombre alternativo para el servidor de destino.
- ProxyRequest: la directiva ProxyRequests con el argumento Off impide que se utilice el servidor Apache HTTP como proxy forward o de reenvío para evitar posibles abusos.
Si se han definido las reglas para la función proxy, se tiene que activar la configuración por medio del terminal: