Instalación del proxy HTTP Apache - Linux

Seleccione los pasos de instalación del proxy HTTP Apache según la distribución Linux que utilice en el servidor:

Instalación en Linux (genérica para todas las distribuciones) del proxy HTTP Apache

1.Instale el servidor HTTP Apache (como mínimo la versión 2.4.10).

2.Asegúrese de que están cargados los siguientes módulos:

access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk

3.Agregue la configuración de almacenamiento en caché:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 200000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4.Si el directorio /var/cache/apache2/mod_cache_disk no existe, créelo y asigne privilegios a Apache (r,w,x).

5.Agregue la configuración del proxy:

ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

6.Active el proxy y la configuración de almacenamiento en caché agregada (si el archivo de configuración principal de Apache contiene la configuración, este paso puede omitirse).

7.En caso de ser necesario, cambie el puerto de escucha al puerto que desee (está configurado el puerto 3128 de forma predeterminada).

8.Autenticación básica opcional:

oAgregue la configuración de autenticación a la directiva del proxy:

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

oCree un archivo de contraseña con htpasswd.exe -c

oCree manualmente un archivo denominado group.file con usergroup:username

9.Reinicie el servidor HTTP Apache.
 

Instalación del proxy HTTP Apache en Ubuntu Server 14.10 y en otras distribuciones Linux basadas en Debian

1.Instale la versión más reciente del servidor HTTP Apache desde el repositorio apt:

sudo apt-get install apache2

2.Ejecute el siguiente comando para cargar los módulos de Apache necesarios:

sudo a2enmod access_compat auth_basic authn_core authn_file authz_core authz_groupfile
authz_host proxy proxy_http proxy_connect cache cache_disk

3.Edite el archivo de configuración del almacenamiento en caché de Apache:

sudo vim /etc/apache2/conf-available/caching.conf

y copie y pegue la siguiente configuración:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 200000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4. Este paso no debería ser necesario, pero si falta el directorio de almacenamiento en caché, ejecute los siguientes comandos:

sudo mkdir /var/cache/apache2/mod_cache_disk
sudo chown www-data /var/cache/apache2/mod_cache_disk
sudo chgrp www-data /var/cache/apache2/mod_cache_disk

5.Edite el archivo de configuración del proxy de Apache:

sudo vim /etc/apache2/conf-available/proxy.conf

y copie y pegue la siguiente configuración:

ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

6.Active los archivos de configuración que modificó en los pasos anteriores:

sudo a2enconf caching.conf proxy.conf

7.Cambie el puerto de escucha del servidor HTTP Apache al 3128. Edite el archivo /etc/apache2/ports.conf y sustituya Listen 80 por Listen 3128.

8.Autenticación básica opcional:

sudo vim /etc/apache2/conf-available/proxy.conf

oCopie y pegue la configuración de autenticación antes de </Proxy>:

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

oInstale apache2-utils y cree un nuevo archivo de contraseña (por ejemplo, nombre de usuario: user, grupo: usergroup):

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user

oCree un archivo llamado group:

sudo vim /etc/apache2/group.file

y copie y pegue la siguiente línea:

usergroup:user

9.Reinicie el servidor HTTP Apache con el siguiente comando:

sudo service apache2 restart

 

Reenvío solo para la comunicación de ESET

 

Para permitir el reenvío de la comunicación de ESET únicamente, quite lo siguiente:

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

y añada también lo siguiente:

<Proxy *>
Deny from all
</Proxy>

#*.eset.com:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[c,C][o,O][m,M](:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#*.eset.eu:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[e,E][u,U](:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#Antispam module (ESET Mail Security only):

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(ds1-uk-rules-1.mailshell.net|ds1-uk-rules-2.mailshell.net|ds1-uk-rules-3.mailshell.net|fh-uk11.mailshell.net)(:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#Services (activation)

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(edf-pcs.cloudapp.net|edf-pcs2.cloudapp.net|edfpcs.trafficmanager.net)(:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#ESET servers accessed directly via IP address:

<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(91.228.165.|91.228.166.|91.228.167.|38.90.226.)([0-9]+)(:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

Para permitir el reenvío de todas las comunicaciones, añada lo siguiente:

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

y quite también lo siguiente:

<Proxy *>
Deny from all
</Proxy>

#*.eset.com:
ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[c,C][o,O][m,M](:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#*.eset.eu:
<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[e,E][u,U](:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#Antispam module (ESET Mail Security only):
<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(ds1-uk-rules-1.mailshell.net|ds1-uk-rules-2.mailshell.net|ds1-uk-rules-3.mailshell.net|fh-uk11.mailshell.net)(:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#Services (activation)
<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(edf-pcs.cloudapp.net|edf-pcs2.cloudapp.net|edfpcs.trafficmanager.net)(:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

#ESET servers accessed directly via IP address:
<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(91.228.165.|91.228.166.|91.228.167.|38.90.226.)([0-9]+)(:[0-9]+)?(/.*)?$>
Allow from all
</ProxyMatch>

 

Encadenado de proxy (todo el tráfico)

Añada lo siguiente a la configuración del proxy (la contraseña solo funciona en el proxy secundario):

ProxyRemote * http://IP_ADDRESS:3128