serveurs:installation:web-srv:geonature-atlas-nginx

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
serveurs:installation:web-srv:geonature-atlas-nginx [2020/02/14 12:57] – créée jpmilcentserveurs:installation:web-srv:geonature-atlas-nginx [2023/12/05 14:51] (Version actuelle) jpmilcent
Ligne 1: Ligne 1:
 ====== Configurer Nginx pour GeoNature Atlas ====== ====== 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''   * Créer un fichier de config Nginx pour l'Atlas : ''vi /etc/nginx/sites-available/atlas.conf''
   * Y placer le contenu suivant : <code nginx>   * Y placer le contenu suivant : <code nginx>
Ligne 6: Ligne 7:
     listen [::]:80;     listen [::]:80;
    
-    server_name nature.silene.eu;+    server_name <alias>.<domaine-sinp>;
    
     location / {      location / { 
Ligne 20: Ligne 21:
   * Créer un lien depuis les sites actifs : ''cd /etc/nginx/sites-enabled/ ; ln -s ../sites-available/atlas.conf atlas.conf''   * 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 la config et relancer Nginx si OK : ''nginx -t && nginx -s reload''
-  * Tester l'URL http://nature.silene.eu/ qui doit afficher une erreur 502 si le serveur Gunicorn de l'Atlas n'est pas lancé. +  * Tester l'URL <nowiki>http://<alias>.<domaine-sinp></nowiki>/ 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'' +    * Vérifier le service : ''systemctl status geonature-atlas.service'' 
-    * Démarrer le service Atlas : ''supervisorctl start atlas'' +    * Démarrer le service Atlas : ''systemctl start geonature-atlas.service'' 
-    * Arrêter le service Atlas : ''supervisorctl stop atlas'' +    * Arrêter le service Atlas : ''systemctl stop geonature-atlas.service'' 
-  * Installer un certificat SSL via Certbot (Letsencrypt) : ''<nowiki>certbot --nginx -d nature.silene.eu -d atlas.silene.eu</nowiki>''+  * Installer un certificat SSL via Certbot (Letsencrypt) : ''<nowiki>certbot --nginx -d <alias>.<domaine-sinp> -d atlas.<domaine-sinp></nowiki>'' 
 +    * Ex. SINP PACA : ''<nowiki> certbot --nginx -d nature.silene.eu -d atlas.silene.eu </nowiki>'' 
 +    * Ex. SINP AURA : <code bash> 
 +certbot --nginx \ 
 +    -d atlas.biodiversite-auvergne-rhone-alpes.fr \ 
 +    -d atlas.biodiversite-auvergne-rhone-alpes.com \ 
 +    -d atlas.biodiversite-auvergne-rhone-alpes.eu \ 
 +    -d atlas.biodiversite-auvergne-rhone-alpes.net \ 
 +    -d atlas.biodiversite-auvergne-rhone-alpes.org \ 
 +    -d atlas.biodiversite-aura.com \ 
 +    -d atlas.biodiversite-aura.eu \ 
 +    -d atlas.biodiversite-aura.fr \ 
 +    -d atlas.biodiversite-aura.net \ 
 +    -d atlas.biodiversite-aura.org \ 
 +    -d atlas.observatoire-biodiversite-auvergne-rhone-alpes.com \ 
 +    -d atlas.observatoire-biodiversite-auvergne-rhone-alpes.eu \ 
 +    -d atlas.observatoire-biodiversite-auvergne-rhone-alpes.fr \ 
 +    -d atlas.observatoire-biodiversite-auvergne-rhone-alpes.net \ 
 +    -d atlas.observatoire-biodiversite-auvergne-rhone-alpes.org 
 +</code>
     * Répondre : 2     * Répondre : 2
-    * Tester ensuite la redirection auto de HTTP vers HTTPS : http://nature.silene.eu/ -> doit redirigé vers HTTPS automatiquement +    * Tester ensuite la redirection auto de HTTP vers HTTPS : <nowiki>http://<alias>.<domaine-sinp></nowiki>/ -> doit redirigé vers HTTPS automatiquement 
-  * Tester la configuration SSL : https://www.ssllabs.com/ssltest/analyze.html?d=nature.silene.eu +  * Tester la configuration SSL : https://www.ssllabs.com/ssltest/analyze.html?d=<alias>.<domaine-sinp> 
-  * Tester l'URL https://nature.silene.eu/+  * Tester l'URL <nowiki>https://<alias>.<domaine-sinp></nowiki>/
   * La config finale : <code nginx>   * La config finale : <code nginx>
 server { server {
-    listen 443 ssl; # managed by Certbot +    listen 443 ssl http2; # managed by Certbot 
-    listen [::]:443 ssl; # managed by Certbot +    listen [::]:443 ssl http2; # managed by Certbot 
-    server_name nature.silene.eu+    server_name <prefixe-non-atlas>.<domaine-sinp>; 
-  + 
-    location / { +    auth_basic "Zone restreinte"; 
 +    auth_basic_user_file /etc/nginx/.htpasswd
 + 
 +    location / {
         proxy_set_header X-Forwarded-Host $host:$server_port;         proxy_set_header X-Forwarded-Host $host:$server_port;
         proxy_set_header X-Forwarded-Server $host;         proxy_set_header X-Forwarded-Server $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;         proxy_set_header X-Forwarded-Proto $scheme;
- + 
 +        # WARNING: up timeout to 90s to avoid 502 Bad Gateway response 
 +        # Set timeout like Gunicorn in GeoNature-Atlas atlas/configuration/settings.ini file 
 +        proxy_read_timeout 90s; 
 +        proxy_connect_timeout 30s;
         proxy_pass http://127.0.0.1:8080/;# ATTENTION : bien mettre un slash final ! Sinon => erreur 404         proxy_pass http://127.0.0.1:8080/;# ATTENTION : bien mettre un slash final ! Sinon => erreur 404
-    }   +    }
  
-    ssl_certificate /etc/letsencrypt/live/nature.silene.eu/fullchain.pem; # managed by Certbot +    ssl_certificate /etc/letsencrypt/live/<prefixe-non-atlas>.<domaine-sinp>/fullchain.pem; # managed by Certbot 
-    ssl_certificate_key /etc/letsencrypt/live/nature.silene.eu/privkey.pem; # managed by Certbot+    ssl_certificate_key /etc/letsencrypt/live/<prefixe-non-atlas>.<domaine-sinp>/privkey.pem; # managed by Certbot
     include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot     include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
     ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot     ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
Ligne 53: Ligne 80:
     listen 443 ssl;     listen 443 ssl;
     listen [::]:443 ssl;     listen [::]:443 ssl;
-    server_name atlas.silene.eu+    server_name atlas.<domaine-sinp>; 
-    return 302 https://nature.silene.eu$request_uri;+     
 +    ssl_certificate /etc/letsencrypt/live/<prefixe-non-atlas>.<domaine-sinp>/fullchain.pem# managed by Certbot 
 +    ssl_certificate_key /etc/letsencrypt/live/<prefixe-non-atlas>.<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 
 +     
 +    return 302 https://<prefixe-non-atlas>.<domaine-sinp>$request_uri;
 } }
 +
 server { server {
-    listen 80; +    listen 80;
     listen [::]:80;     listen [::]:80;
-    server_name nature.silene.eu atlas.silene.eu+    server_name <prefixe-non-atlas>.<domaine-sinp> atlas.<domaine-sinp>
-    return 302 https://nature.silene.eu$request_uri;+    return 302 https://<prefixe-non-atlas>.<domaine-sinp>$request_uri;
 } }
 </code> </code>
 +  * Penser à modifier le fichier //config.py// pour y indiquer la nouvelle URL en HTTPS : ''vi ~/www/atlas/atlas/configuration/config.py''
  
  • serveurs/installation/web-srv/geonature-atlas-nginx.1581685043.txt.gz
  • Dernière modification : 2020/02/14 12:57
  • de jpmilcent