Intento configurar un encabezado HTTP personalizado con una variable de entorno** con el servidor Apache 2.4.6 y headers_module.
Trabajo dentro de un HTTP VHost en el puerto 80.
Todo funciona como se esperaba con un ejemplo básico como:
Header set MyHeader "%D %t"
He leído la documentación de Apache de mod_headers:https://httpd.apache.org/docs/2.4/en/mod/mod_headers.html#header
Se dice que se puede acceder a la variable de entorno usando
%{ENVVARNAME}e
(con ENVVARNAME el nombre de la variable ENV)
También leí otra publicación pero no hay una respuesta que funcione realmente: Apache establece un encabezado personalizado con una variable de entorno
Pero mi problema es agregar un encabezado que identifique mi servidor Apache como el valor del entorno HOSTNAME.
- Probé esto
Header Set X-Serv %{HOSTNAME}e
Sin éxito: siempre muestra X-Serv:{null} en lugar del valor
- También probé:
SetEnv myvar ${HOSTNAME} Header set X-Serv %{myvar}e
Sin éxito: se muestra en mis encabezados HTTP: X-Serv: %{myvar}e
También probé otras combinaciones:
Tenga en cuenta: mi variable de entorno HOSTNAME existe y se muestra en el comando 'env' con el usuario de Apache propietario del proceso httpd.
¿Alguna idea?
Respuesta1
Debe declarar qué variables de entorno del sistema desea que se puedan utilizar con elPassEnv
directiva
Un ejemplo práctico sería:
PassEnv HOSTNAME
Header Set X-Serv %{HOSTNAME}e
Respuesta2
Encontré una manera de hacerlo funcionar:
Asegúrese de que el módulo esté activado (mod_headers) o actívelo si es necesario
a2enmod headers
en /etc/apache2/envvars agregar
export HOSTNAME=`uname -n`
en
<VirtualHost>
cláusulaHeader set apachehost ${HOSTNAME}
Reiniciar o recargar el servicio httpd
service apache2 restart
Respuesta3
1.Asegúrese de que el módulo esté activado (mod_headers) o actívelo si es necesario
a2enmod headers
2.en /etc/apache2/envvars agregar
export HOSTNAME1=`uname -n`
o`hostname`
3.en <VirtualHost _default:443>
la cláusula
PassEnv HOSTNAME1
Header set X-Server "%{HOSTNAME1}e"
4.Reiniciar o recargar el servicio httpd
service apache2 restart