Table of Contents
Pré-requis
- Avoir suivi : Nginx : Installation d’un Reverse Proxy
- Avoir suivi : Nginx : Ajouter un certificat SSL Lets Encrypt pour passer en HTTPS
Nginx configuration
- Editez le fichier de configuration du reverse proxy :
sudo vim /etc/nginx/sites-available/reverse-proxy.example.conf
- En principe, après avoir suivi l'installation d'un reverse proxy avec Nginx, le server block suivant va être modifié :
server {
listen 80;
server_name blog.example.com;
location / {
proxy_pass http://172.0.1.10:80;
}
}
- En premier lieu, nous allons réécrire l'url de http://blog.example.com en https://blog.example.conf, pour cela nous allons modifié le server block précédent en :
server {
listen 80;
server_name blog.example.com;
rewrite ^ https://blog.example.com permanent;
}
- Ajouter un nouveau server block pour permettre de faire du reverse proxy SSL comme suit :
server {
listen 443 ssl;
server_name blog.example.com;
ssl_certificate /etc/letsencrypt/live/blog.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/blog.example.com/privkey.pem;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location / {
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_pass https://172.0.1.10:443;
proxy_read_timeout 90;
}
}
ssl_certificate
etssl_certificate_key
contiendront le chemin d'accès au certificat et à la clef privée. Bien entendu, il faudra les transféré sur le serveur reverse proxy au bon endroit avec les bonnes permissions. Générer un certificat wildcard est fortement recommandé si vous souhaitez développer plusieurs sous-domaine. Cette partie ne sera pas détaillé dans ce tutorial ainsi que la gestion de son renouvelement.
proxy_pass
: L'URL http / https vers le serveur hébergeant blog.example.com.
- Vérifiez la configuration de Nginx avec :
sudo nginx -t
- Aucune erreur ne doit être retournée :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- Redémarrer le serveur reverse proxy :
sudo systemctl restart nginx
1 commentaire pour l’instant