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

snivel
Salut
je t’avais dit de l’enlever. 😉
"test un truc, enlève include /etc/nginx/ssl/params.conf; de ngnix.conf" car cher moi je l'avais pas pour une config standard .
en faite cette ligne et deja dans /etc/nginx/conf.d/ciphers.conf
et pour le tuto il est bon mais cest configurer différemment par rapport au tuto que tu as suivi pour ngnix

Bonsoir,

Erreur de ma part. J'avais bien enlevé la ligne, mais remise après avoir obtenu la même erreur au restart du service.

Merci de vos conseils 🙂

Tant mieux si tout roule maintenant !

11 jours plus tard

Bonjour,
Sur mon dédié je souhaite avoir deux sous-domaines, l'un destiné à la seedbox et un second pour un petit Owncloud. Je suis parvenu à appliquer un certificat au premier sous-domaine mais le second destiné à Owncloud ne fonction pas. Lorsque je lance la génération du certificat via let's encrypt j'obtiens l'erreur suivante alors qu'il est bien déclaré chez mon hébergeur.

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: www.XXXX.XXXXX.tk
Type: connection
Detail: DNS problem: NXDOMAIN looking up A for
www.XXXX.XXXXX.tk

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address. Additionally, please check that
your computer has a publicly routable IP address and that no
firewalls are preventing the server from communicating with the
client. If you're using the webroot plugin, you should also verify
that you are serving files from the webroot path you provided.

Je vous remercie par avance pour tout vos conseils !!

    Oui ils le sont bien. Je suppose que c'est une erreur au sein du paramétrages du serveur, mais je ne vois pas quoi exactement ..

    Il t'indique que tu as un probleme au niveau d'une ligne : Detail: DNS problem: NXDOMAIN looking up A for

    Cherche la ligne avec la déclaration de ton sous domaine car il ne semble pas le trouver.
    Si tu as paramétré ton sous domaine dans ton interface de ton hébergeur, il faut aller vérifier que tu as bien correctement saisi les champs. Sinon, c'est sur ton serveur avec le service bind9 ou bind.

      NOnoS C'est probablement au niveau du service bind9 car tout le reste paraît correctement configuré.
      Je parviens à générer un certificat pour sousdomaine.domaine.tld mais pas pour www.sousdomaine.domaine.tld

      PS : Lorsque je fais un nslookup il m'indique que le sous-domaine en question est carrément inexistant

      6 jours plus tard

      Bonjour !

      Alors j'ai suivis le tuto et à l'étape d'obtention des certificats j'ai ce message d'erreur :

      • The following errors were reported by the server:
        Domain: monnomdedomain.ovh
        Type: unauthorized
        Detail: Incorrect validation certificate for TLS-SNI-01 challenge.
        Requested
        d1c7b08f9b8acddf10444c686ef38f37.c2e64c7b740c92b8797ee911fea6baaa.acme.invalid
        from monadresseipserveur:443. Received 4 certificate(s), first certificate
        had names "mailconfig.ovh.net, www.mailconfig.ovh.net"
        To fix these errors, please make sure that your domain name was
        entered correctly and the DNS A record(s) for that domain
        contain(s) the right IP address.

      Ce que j'ai du mal a saisir, c'est que mon nom de domaine est bien déclaré sous Ovh comme indiqué dans les annexes de la "seedbox pour les nuls" installés avec le script Ex-Rat. je n'ai d'ailleurs aucun sous pour accéder à mon rutorrent/sickrage/cakebox de cette manière.

      J'ai parcours la conversation de ce thread et vu qu'on pouvait vérifier si les DNS étaient bien déclarés en utilisant https://dnschecker.org/ ce que j'ai fait et ils le sont correctement. Merci d'avance pour vos conseils.

      Bon j'ai avancé dans mon problème, j'ai pu obtenir les certificats et j'ai bien vérifiés qu'ils étaient présents pour mon site dans /etc/letsencrypt/live/.

      Ensuite je pense que là où ça coince c'est dans la config du rutorrent.conf, je m'explique j'ai essayé plein de choses, mais aucune ne me permettaient de redémarrer mon service nginx. J'avais systématiquement le droit a une erreur. Est-ce que qqn aurait la gentillesse de me montrer le sien ? Au moins pour la partie "server" s'il vous plait, car je pense que ma syntaxe ne doit pas être la bonne ?

        Fenrir

        Salut Fenrir,

        Voici:

        server {
            listen 666 default_server;
            listen 443 default_server ssl http2;
            server_name _;
        
            index index.html index.php;
            charset utf-8;
            client_max_body_size 10M;
        
            ssl on;
            ssl_certificate /etc/letsencrypt/live/xxxxxx/fullchain.pem;
            ssl_certificate_key /etc/letsencrypt/live/xxxxxx/privkey.pem;
        
            include /etc/nginx/conf.d/ciphers.conf;
        
            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;
            }

          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;
                          }
                      }