Serveur Debian

Administration con centré . com !

Serveur Debian

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


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