Instalacja serwera proxy Apache HTTP — system Linux

Wybierz procedurę instalacji serwera proxy Apache HTTP na podstawie dystrybucji systemu Linux używanej na serwerze:

Instalacja serwera proxy Apache HTTP w systemie Linux (dystrybucja ogólna)

1.Zainstaluj serwer Apache HTTP (co najmniej w wersji 2.4.10).

2.Sprawdź, czy załadowane są następujące moduły:

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

3.Dodaj konfigurację buforowania:

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

4.Jeśli katalog /var/cache/apache2/mod_cache_disk nie istnieje, utwórz go i nadaj mu uprawnienia serwera Apache (r, w, x).

5.Dodaj konfigurację serwera proxy:

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

6.Włącz dodaną konfigurację buforowania serwera proxy (jeśli konfiguracja jest zawarta w głównym pliku konfiguracyjnym serwera Apache, można pominąć ten krok).

7.W razie potrzeby zmień port nasłuchu (domyślnie ustawiony jest port 3128).

8.Opcjonalne uwierzytelnianie podstawowe:

oDodaj konfigurację uwierzytelniania do dyrektywy serwera proxy:

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

oUtwórz plik hasła przy użyciu pliku htpasswd.exe -c

oRęcznie utwórz plik o nazwie group.file z elementem usergroup:username

9.Uruchom ponownie serwer Apache HTTP.
 

Instalacja serwera proxy Apache HTTP w systemie Ubuntu Server 14.10 oraz w innych dystrybucjach systemu Linux opartych na systemie Debian

1.Zainstaluj najnowszą wersję serwera Apache HTTP z odpowiedniego repozytorium:

sudo apt-get install apache2

2.Wykonaj poniższe polecenie w celu załadowania wymaganych modułów serwera Apache:

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.Edytuj plik konfiguracji buforowania serwera Apache:

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

oraz skopiuj i wklej następującą konfigurację:

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

4. Ten krok powinien być opcjonalny, jednak w razie braku katalogu buforowania uruchom następujące polecenia:

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.Edytuj plik konfiguracji serwera proxy Apache:

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

oraz skopiuj i wklej następującą konfigurację:

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

6.Włącz pliki konfiguracyjne edytowane w poprzednich krokach:

sudo a2enconf caching.conf proxy.conf

7.Zmień port nasłuchiwania serwera Apache HTTP na port 3128. W pliku /etc/apache2/ports.conf zamień wpis Listen 80 na Listen 3128.

8.Opcjonalne uwierzytelnianie podstawowe:

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

oSkopiuj i wklej konfigurację uwierzytelniania przed znacznikiem </Proxy>:

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

oZainstaluj element apache2-utils i utwórz nowy plik z hasłem (np. nazwa użytkownika: user, grupa: usergroup):

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

oUtwórz plik o nazwie group:

sudo vim /etc/apache2/group.file

Skopiuj i wklej następujący wiersz:

usergroup:user

9.Uruchom ponownie serwer Apache HTTP przy użyciu następującego polecenia:

sudo service apache2 restart

 

Przekazywanie jedynie w ramach komunikacji z produktami ESET

 

Aby zezwolić tylko na przekazywanie w ramach komunikacji z produktami ESET, usuń następujący wpis:

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

i dodaj następujący wpis:

<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>

Aby zezwolić na przekazywanie całej komunikacji, dodaj następujący wpis:

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

i usuń następujący wpis:

<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>

 

Tworzenie łańcucha na serwerze proxy (cały ruch)

Dodaj poniższy wiersz do konfiguracji serwera proxy (hasło działa wyłącznie w przypadku podrzędnego serwera proxy):

ProxyRemote * http://IP_ADDRESS:3128