SERVEUR PROXI SQUID
Squid en frontal
Squid sur le port 80 qui envoie vers Nginx
Squid redirige les requêtes vers Nginx, qui gère SSL et agit comme proxy inverse pour Apache.
Squid peut fournir des fonctionnalités de cache HTTP, ce qui peut réduire la charge sur les serveurs en aval et peut aider à filtrer le trafic et fournir une couche de sécurité supplémentaire.
+------------------+ | Utilisateurs | +---------+--------+ | v +---------+-----------+ | Squid (Cache) | +---------+-----------+ | v +---------+-------------+ | Nginx (proxy inverse) | +---------+-------------+ | v +---------------------------------+ | Apache + (PHP / FastCGI) | +---------+-----------------------+
Nginx > Squid > Apache
Plus simple à configurer SSL car Nginx est directement en frontal.
+------------------+ | Utilisateurs | +---------+--------+ | v +---------+-------------+ | Nginx (proxy inverse) | +---------+-------------+ | v +---------+-----------+ | Squid (Cache) | +---------+-----------+ | v +---------------------------------+ | Apache + (PHP / FastCGI) | +---------+-----------------------+
Notre site nomdedomaine.fr ... tourne sur Nginx (proxy inverse) en on vas ajouter Le serveur Proxy Squid
proxy_pass http://127.0.0.1:8080 ==>> proxy_pass http://127.0.0.1:3128; sudo nano /etc/nginx/sites-available/nomdedomaine.frserver { listen 80; server_name nomdedomaine; # Rediriger les requêtes HTTP vers HTTPS location / { return 301 https://$host$request_uri; } } server { listen 443 ssl; server_name nomdedomaine; ssl_certificate /etc/letsencrypt/live/nomdedomaine/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/nomdedomaine/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://127.0.0.1:3128; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
sudo apt update cd /etc/squid/ sudo cp squid.conf squid.bak sudo nano /etc/squid/squid.conf# Configure Squid to listen on port 3128 http_port 3128 accel vhost allow-direct # Allow access from all IP addresses (adjust for production) acl all src all http_access allow all # Configure Squid to forward requests to Apache cache_peer 127.0.0.1 parent 8080 0 no-query originserver name=apache # Allow access to all domains acl our_sites dstdomain .* http_access allow our_sites
sudo systemctl restart squid proxy_pass http://127.0.0.1:3128; sudo apt install squid -y