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;
    }
  • serveurs/installation/web-srv/geonature-atlas-nginx.1605624976.txt.gz
  • Dernière modification : 2020/11/17 14:56
  • de jpmilcent