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
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 defaultserver { 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'adresseserver { 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