• Applications
  • [Discussion] Certificat SSL signé et gratuit avec Let's Encrypt

zarev merci, je m'aperçois déjà qu'il y a une ligne supplémentaire par rapport au tuto : "ssl on;" que je n'avais pas mise sur toutes mes tentative. Mais malheureusement, même avec ça j'ai toujours un message d'erreur en voulant redémarrer mon service Nginx. voici l'erreur qu'il me retourne :

systemctl status nginx.service
● nginx.service - LSB: Stop/start nginx
Loaded: loaded (/etc/init.d/nginx)
Active: failed (Result: exit-code) since Tue 2017-02-07 10:46:25 CET; 4min 36s ago
Process: 1997 ExecStop=/etc/init.d/nginx stop (code=exited, status=0/SUCCESS)
Process: 2595 ExecStart=/etc/init.d/nginx start (code=exited, status=1/FAILURE)
Feb 07 10:46:25 monhostname nginx[2595]: nginx: [emerg] BIO_new_file("/etc/letsencrypt/live/monnomdedomaine/fullchain.pem") failed (SSL: error:02001002:system l...
Feb 07 10:46:25 monhostname systemd[1]: nginx.service: control process exited, code=exited status=1
Feb 07 10:46:25 monhostname systemd[1]: Failed to start LSB: Stop/start nginx.
Feb 07 10:46:25 monhostname systemd[1]: Unit nginx.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.
root@monhostname:/tmp# service nginx restart
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.

Est ce que j'ai juste a insérer dans mon fichier nginx.conf la ligne /etc/nginx/ssl/params.conf; entre les balises http comme c'est indiqué ou bien y a t il encore une ligne ou deux a mettre sans que je le sache ?

J'avoue que je suis perdu maintenant... j'y passe des heures, mais je n'arrive à rien alors que je suis sur que c'est quelque chose de tout bête.

    Fenrir

    Salutations Fenrir,

    Si tu as un doute sur ton fichier (params.conf), tu peux commencer par le supprimer:

    rm /etc/nginx/ssl/params.conf

    Ensuite, le refaire:

      nano /etc/nginx/ssl/params.conf

    Dedans tu colles tout le texte comme demande MAIS tu n'oublies pas de changer la ligne:

    ssl_trusted_certificate /etc/letsencrypt/live/TON_NOM_DE_DOMAINE/fullchain.pem;

    Donc cela donne:

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    
    ssl_ecdh_curve secp384r1;
    
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA";
    
    ssl_prefer_server_ciphers on;
    
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    
    ssl_stapling on;
    ssl_stapling_verify on;
    
    ssl_trusted_certificate /etc/letsencrypt/live/NE_PAS_OUBLIER_TON_NDD!!/fullchain.pem;
    
    resolver 8.8.8.8;

    Après tu fais CTRL+X => YES => ENTER pour valider.

    Un petit (pour détecter les erreurs):

    nginx -t

    Et si tout va bien:

    service nginx restart

      zarev J'ai effectué le nginx -t avant de me lancer dans les procédures que tu m'as indiqué et il m'indique que tu es OK (biensur, j'ai vérifié au préalable que mon nom de domaine était bien renseigné dans le fichier de conf) :

      nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
      nginx: configuration file /etc/nginx/nginx.conf test is successful

      En fait, quand je parlais de ligne a rajouter dans un fichier conf, c'était sur cette partie du tuto :

      On n'oublie pas d'inclure le fichier params.conf entre les balises http {} dans le fichier nginx.conf

      #nano /etc/nginx/nginx.conf
      
      http {
          include /etc/nginx/ssl/params.conf;
      }

      Mon soucis apparait systématiquement quand je fais des modifications sur ses deux fichiers :

      • /etc/nginx/sites-enabled/rutorrent.conf
      • /etc/nginx/nginx.conf

      Merci encore pour ton aide !

        Fenrir

        En effet, tu peux bien mettre la ligne en fin de ficher, avant le } final.

          zarev OK c'est bien ce que j'avais fait... et cela a plusieurs endroits différents du fichier, mais cela n'a pas fonctionné. Franchement là, je cale. J'ai passé tellement de temps là dessus. C'est vraiment la seule chose qui me manque sur ma seedbox, tout le reste s'est très bien déroulé.

            Encore une fois, un grand merci pour ton aide !

              17 jours plus tard

              Bonjour a tous ,
              Un grand merci pour ce tuto, rutorrent, cakebox, seedboxmanager sont bien avec le certificat vert mais mon soucis vient d'autres applications j'utilise aussi transmission btsync et pyload et ces 3 la je n'y ai plus acces depuis aux interfaces web.
              Il manque surement des configurations à ajouter mais je ne les connais pas ..
              Si vous avez besoin plus d'info dites le 🙂
              Voila mes conf :
              /etc/nginx/sites-enabled/rutorrent.conf

               server {
                  listen 80 default_server;
               server_name ndd.fr;
              rewrite ^ https://ndd.fr$request_uri? permanent;
              }
              server {
                  listen 443 default_server ssl;
                  server_name ndd.fr;
              
                  charset utf-8;
                  index index.html index.php;
                  client_max_body_size 10M;
              
                  ssl_certificate /etc/letsencrypt/live/ndd.fr/fullchain.pem;
                  ssl_certificate_key /etc/letsencrypt/live/ndd.fr/privkey.pem;
                  ssl_dhparam /etc/nginx/ssl/dhparam.pem;
              
                  access_log /var/log/nginx/rutorrent-access.log combined;
                  error_log /var/log/nginx/rutorrent-error.log error;
              
                  error_page 500 502 503 504 /50x.html;
                  location = /50x.html { root /usr/share/nginx/html; }
              
                  auth_basic "seedbox";
                  auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";
              
                  location = /favicon.ico {
                      access_log off;
                      log_not_found off;
                  }
              
               ## début config seedbox-manager ##
              
                  location ^~ /seedbox-manager {
              	alias /var/www/seedbox-manager/public;
              	include /etc/nginx/conf.d/php-manager.conf;
              	include /etc/nginx/conf.d/cache.conf;
                  }
              
                  ## fin config seedbox-manager ##    
              ## début config rutorrent ##
              
              location /USER1 {
                      include scgi_params;
                      scgi_pass 127.0.0.1:5001;
                      auth_basic "seedbox";
                      auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_user1";
                  }
              
              location /USER2 {
                      include scgi_params;
                      scgi_pass 127.0.0.1:5002;
                      auth_basic "seedbox";
                      auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_USER2";
                  }
              
              location /USER3 {
                      include scgi_params;
                      scgi_pass 127.0.0.1:5003;
                      auth_basic "seedbox";
                      auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_user3";
                  }
              
              location /USER4 {
                      include scgi_params;
                      scgi_pass 127.0.0.1:5004;
                      auth_basic "seedbox";
                      auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_user4";
                  }
              
              
                  location ^~ /rutorrent {
              	root /var/www;
              	include /etc/nginx/conf.d/php.conf;
              	include /etc/nginx/conf.d/cache.conf;
              
              	location ~ /\.svn {
              		deny all;
              	}
              
              	location ~ /\.ht {
              		deny all;
              	}
                  }
              
                  location ^~ /rutorrent/conf/ {
              	deny all;
                  }
              
                  location ^~ /rutorrent/share/ {
              	deny all;
                  }
              
                  ## fin config rutorrent ##
              ## debut config cakebox-light ##
               
                 location /cakebox/ {
                      rewrite ^/cakebox(/.*)$ $1 break;
                      proxy_pass http://127.0.0.1:81;
                      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_redirect off;
                  }
              
                  location /cakebox/user1/ {
                      alias /home/user1/torrents/;
                      add_header Content-Disposition "attachment";
                      satisfy any;
                      allow all;
                  }
              
                  location /cakebox/USER2/ {
                      alias /home/USER2/torrents/;
                      add_header Content-Disposition "attachment";
                      satisfy any;
                      allow all;
                  }
                  location /cakebox/user3/ {
                      alias /home/user3/torrents/;
                      add_header Content-Disposition "attachment";
                      satisfy any;
                      allow all;
                  }
                  location /cakebox/user4/ {
                      alias /home/user4/torrents/;
                      add_header Content-Disposition "attachment";
                      satisfy any;
                      allow all;
                  }
              }

              /etc/nginx/sites-enabled/cakebox.conf

              server {
                  listen 81;
                  server_name ndd.fr;
                  ssl_certificate /etc/letsencrypt/live/ndd.fr/fullchain.pem;
                  ssl_certificate_key /etc/letsencrypt/live/ndd.fr/privkey.pem;
              
                  root /var/www/cakebox/public;
                  index index.php;
              
                  allow 127.0.0.1; # only the proxy
                  deny all;
              
                  charset utf-8;
                  include /etc/nginx/conf.d/cache.conf;
              
                  access_log /var/log/nginx/cakebox-access.log;
                  error_log /var/log/nginx/cakebox-error.log;
              
                  location = / {
                      try_files @site @site;
                  }
              
                  location / {
                      try_files $uri $uri/ @site;
                  }
              
                  location ~ \.php$ {
                      return 404;
                  }
              
                  location @site {
                      fastcgi_pass unix:/var/run/php5-fpm.sock;
                      include fastcgi_params;
                      fastcgi_param SCRIPT_FILENAME $document_root/index.php;
                      fastcgi_param APPLICATION_ENV production;
                      ## uncomment when running via https
                      ## fastcgi_param HTTPS on;
                  }
              }

                ludoz59 Salut,

                As-tu des services en sous-domaine?

                En tout cas dans tes conf aucune trace des services non couverts par le certificat.

                Ou sont-ils renseignés ?

                Si cela fonctionnait avant que tu installes tes certificats, il doit bien y avoir un fichier reprenant leur config.

                Salut Zarev
                Je n'utilise aucun sous domaine.
                Justement je me demande s'il faut pas rajouter des fichiers conf dans le répertoire /etc/nginx/sites-enabled/ car j'ai seulement des fichiers conf pour rutorrent, cakebox, et seedbox-manager. Il n'y a rien par rapport aux trois autres logiciels que j'utilise (transmission, pyload et btsync) par contre sans passer par le nom de domaine j'arrive a acceder a transmission, pyload et btsync.

                Bonjour,

                Merci pour ce tuto !
                Juste peut-être, lors de la création du fichier params.conf, préciser qu'il faut modifier le path

                ssl_trusted_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;

                ça évitera peut-être que certains (comme moi) ne le voient pas du premier coup 🙂 (nginx ne redémarrera pas sinon)

                edit: par contre j'obtiens un score de: A
                A cause des protocoles utilisés 😛rotocoles TLSv1_2 (en vert) TLSv1_1 TLSv1. A désactiver ? SI oui, savez-vous comment ?

                edit 2: la réponse à ma question est donnée en décembre 2015. Merci 🙂 !

                Merci d'avance !

                Bonjour a tous pour mon soucis j'ai fais autrement sans passer par mon nom de domaine, sinon depuis que j'ai mis le certificat SSL j'ai une erreur dans rutorrent des que je veux bouger, compresser ou extraire un fichier via le file manager dans rutorrent si jamais vous avez une idée même par PM hésitez pas 🙂 Voila les screens des erreurs
                Compression
                https://images.mondedie.fr/x2ICeeHX/bD67spSv.png
                Extraction
                https://images.mondedie.fr/rD2j5zAI/P05Tm9VS.png
                Déplacer
                https://images.mondedie.fr/MtG3c8KK/MYgYx4vH.png

                Salut,

                Je ne vois aucun screen (?).

                Bizarre quand j'arrive sur la page je les vois directement :S ce sont des liens google drive si tu veux je peux te les envoyés en PM

                Ok, normal que je les affiche pas alors. Tu peux par exemple les héberger sur MDD (cf lien en haut).

                Je ne sais pas d'où ça vient mais c'est une erreur de code ça, pas liée à ton SSL. As-tu relancé ruTorrent dans la foulée de Nginx ?
                Au passage, faudrait changer ton hostname aussi.

                  Aerya Oui j'ai bien relancé rutorrent ca ne change rien ... , changer l'hostname ou ? C'est bizarre que j'ai cette erreur car avant la mise en place du SSL j'avais aucun soucis pour utiliser la compression, l'extraction et le deplacement

                  10 jours plus tard

                  Bonsoir,

                  Je suis dans le même cas que ludoz59.

                  J'ai installé un serveur dédié sous Debian 8 , suivit du Script d'installation automatique ruTorrent & Seedbox-Manager.

                  Et pour finir, j'ai suivit le tutoriel de ce topic pour faire un site propre. Tout marche nickel sauf si je veux utiliser File-Manager. Je me retrouve avec les mêmes problèmes que ludoz59.

                  J'avoue chercher dans les différents fichiers de conf en vain.

                  Merci de votre aide.