Serveur Debian

Administration con centré . com !

Serveur Debian

NGNIX

+------------------+
|  Utilisateurs    |
+---------+--------+
          |
          v                            
                   
+---------+-------------+
| Nginx (proxy inverse) |
+---------+-------------+
          |
          v                            
+---------------------------------+
|  Apache + (PHP / FastCGI)       |
+---------+-----------------------+

Notre site nomdedomaine.fr ... tourne sur Apache on vas ajouter Nginx en proxy inverse
1er etape : configuré apache sur le port 8080
2er etape : installer nginx

    sudo apt update
sudo systemctl stop apache2

sudo nano cp /etc/apache2/ports.conf  /etc/apache2/ports.conf.bak
sudo nano /etc/apache2/ports.conf
Listen 127.0.0.1:8080



sudo a2dissite 000-default.conf 
sudo a2dissite default-ssl.conf 
sudo a2dissite nomdedomaine.conf 
...
...

cd /etc/apache2/sites-available
sudo cp default-ssl.conf default-inverse.conf

sudo nano default-inverse.conf


<VirtualHost 127.0.0.1:8080>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    # Autres directives...
#   Commanter ou supprimer les lignes 
#     SSLEngine on
#     SSLCertificateFile /etc/letsencrypt/live/nomdedomaine/fullchain.pem
#     SSLCertificateKeyFile /etc/letsencrypt/live/nomdedomaine/privkey.pem

SSLEngine off
</VirtualHost>


sudo apachectl configtest
sudo systemctl start apache2
sudo systemctl stop apache2
sudo systemctl restart apache2

Le cache de votre navigateur peut vous jouer des tours !!


http://nomdedomaine/index.nginx-debian.html



votre nom de domaine
sudo apt install nginx -y

http://monserveur/index.html                    #affiche la page d'apache même si apache2 est stop la page existé quand même! 
http://monserveur/index.nginx-debian.html       #affiche la page d'apache

#installer le proxy inverse la redirection de port;

cd /etc/nginx/sites-available/
sudo cp default default.bak
sudo nano default

server {
        listen 80 default_server;
        listen [::]:80 default_server;

    location / {
        proxy_pass http://127.0.0.1:8080;  # Changez le port si n  cessaire
        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;

        proxy_read_timeout 60s;
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;

    }
}

le certificat nomdedomaine existe deja !!


sudo nano /etc/nginx/sites-available/default
sudo nginx -t
sudo systemctl restart nginx
Assurez-vous de remplacer default_server par le nomdedomaine ou l'adresse 


server {
    listen 80;
    server_name nomdedomaine;

    server_tokens off;

    # Rediriger les requêtes HTTP vers HTTPS
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    server_name nomdedomaine;

    server_tokens off;

    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:8080;
        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;

        proxy_read_timeout 60s;
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;        
    }
}

sudo nginx -t
sudo systemctl restart nginx

HTTP/2

Activer HTTP/2 sur Nginx peut améliorer la performance de votre site, surtout si vous avez beaucoup de requêtes parallèles à gérer. Si vous utilisez Nginx comme serveur proxy inverse devant Apache, l'activation de HTTP/2 sur les deux serveurs peut encore augmenter les bénéfices.
[nginx]    

    server {
    listen 443 ssl http2;
    server_name nomdedomaine;
    ......

sudo nginx -t
sudo systemctl restart nginx

[apache]

<VirtualHost *:443>
    Protocols h2 http/1.1
    ServerName exemple.com

    SSLEngine on
     SSLCertificateFile /chemin/vers/vot........
    
sudo apachectl configtest
sudo systemctl restart apache2