Ceci est une ancienne révision du document !
Configurer Nginx pour GeoNature Atlas
- Notes : nous voulons une adresse web principal de type <alias>.<domaine-sinp> pour l'Atlas. L'adress atlas.<domaine-sinp> doit être redirigé vers <alias>.<domaine-sinp>.
- Créer un fichier de config Nginx pour l'Atlas :
vi /etc/nginx/sites-available/atlas.conf
- Y placer le contenu suivant :
server { listen 80; listen [::]:80; server_name <alias>.<domaine-sinp>; location / { proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:8080/;# ATTENTION : bien mettre un slash final ! Sinon => erreur 404 } }
- Créer un lien depuis les sites actifs :
cd /etc/nginx/sites-enabled/ ; ln -s ../sites-available/atlas.conf atlas.conf
- Tester la config et relancer Nginx si OK :
nginx -t && nginx -s reload
- Tester l'URL http://<alias>.<domaine-sinp>/ qui doit afficher une erreur 502 si le serveur Gunicorn de l'Atlas n'est pas lancé.
- Vérifier les services supervisés par Supervisor :
supervisorctl status
- Démarrer le service Atlas :
supervisorctl start atlas
- Arrêter le service Atlas :
supervisorctl stop atlas
- Installer un certificat SSL via Certbot (Letsencrypt) :
certbot --nginx -d <alias>.<domaine-sinp> -d atlas.<domaine-sinp>
- Répondre : 2
- Tester ensuite la redirection auto de HTTP vers HTTPS : http://<alias>.<domaine-sinp>/ → doit redirigé vers HTTPS automatiquement
- Tester la configuration SSL : https://www.ssllabs.com/ssltest/analyze.html?d=<alias>.<domaine-sinp>
- Tester l'URL https://<alias>.<domaine-sinp>/
- La config finale :
server { listen 443 ssl http2; # managed by Certbot listen [::]:443 ssl http2; # managed by Certbot server_name <alias>.<domaine-sinp>; location / { proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:8080/;# ATTENTION : bien mettre un slash final ! Sinon => erreur 404 } ssl_certificate /etc/letsencrypt/live/<alias>.<domaine-sinp>/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/<alias>.<domaine-sinp>/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { listen 443 ssl; listen [::]:443 ssl; server_name atlas.<domaine-sinp>; return 302 https://<alias>.<domaine-sinp>$request_uri; } server { listen 80; listen [::]:80; server_name <alias>.<domaine-sinp> atlas.<domaine-sinp>; return 302 https://<alias>.<domaine-sinp>$request_uri; }