[4] Reverse Proxy

6 lutego 2022 Wyłączono przez Adam [zicherka] Nogły

Skonfiguruj Squida jako serwer odwrotnego proxy.

HTTP gateway jest znane pod pojęciem reverse proxy. Przyjmuje połączenia od urządzeń użytkownika – klientów – serwisu internetowego, a następnie przekazuje zapytania do innych serwerów znajdujących się w tzw. backend, serwujących kod serwisu. Kiedy otrzyma odpowiedź, HTTP gateway zwraca ją do klienta.

Sieć przedstawia się i działa w super uproszczeniu następująco:

[1] Uzyskaj certyfikat SSL, aby również uzyskać dostęp poprzez HTTPS. Możesz użyć certyfikatów od Let’s Encrypt lub swoich własnych wygenerowanych. My użyjemy swoich własnych wygenerowanych certyfikatów.

[2] Skonfiguruj Squida.

[root@vlsr01 ~]# mcedit /etc/squid/squid.conf
#linia 57: dodaj (zezwol na ruch http)
http_access allow all
# And finally deny all other access to this proxy
http_access deny all
#linia 62: wpisz Backend WebSerwer
#http_port 3128
http_port 80 accel defaultsite=vlsr02.zicher.lab
https_port 443 accel defaultsite=vlsr02.zicher.lab cert=/etc/pki/tls/certs/squid.crt key=/etc/pki/tls/certs/squid.key
#linia 66: odkomentuj
#numery oznaczają -> [disk cache size] [number of directories on top level] [number of directories on 2nd level]
cache_dir ufs /var/spool/squid 100 16 256
#dodaj na końcu
cache_peer vlsr02.zicher.lab parent 80 0 no-query originserver
# rozmiar pamięci cache
cache_mem 256 MB
#definicja nazwy hosta, która jest widoczna w przeglądarce
visible_hostname www.zicher.lab

[root@vlsr01 ~]# systemctl enable --now squid

[3] Jeżeli Firewalld pracuje zezwól na ruch dla usług http/HTTPS.

[root@vlsr01 ~]# firewall-cmd --add-service={http,https} --permanent
[root@vlsr01 ~]# firewall-cmd --reload

[4] Uruchom i skonfiguruj Apache httpd na serwerze Backend’owym (VLSR02.zicher.lab).

[5] Zmień ustawienia DNS lub routerów w sieci lokalnej, jeśli chcesz uzyskać dostęp do HTTP/HTTPS na Squid, a następnie spróbuj uzyskać dostęp do serwera Squid, który działa jako Reverse Proxy z komputera klienckiego z przeglądarką internetową.