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

Bonsoir,

Si ça n'est pas une question de droit ça devient embêtant..

J'arrivais à avoir accès à ruttorent et à cakebox jusqu'à ce que je me lance dans l'ajout de certificat.

Le service nginx ne se lance pas avec la config que j'ai donné, mais j'arrive néanmoins à avoir accès à l'interface de cakebox lorsque les lignes suivantes sont commentées dans le fichier de conf rutorrent.conf :

 #    listen 443 default_server ssl http2;

 #   ssl_certificate /etc/nginx/ssl/fullchain.pem;
 #   ssl_certificate_key /etc/nginx/ssl/privkey.pem;

Côté ruttorent, la redirection vers https est faite automatiquement par mon navigateur (firefox) et cela malgré les lignes commentées.. J'obtiens une belle page d'erreur en retour :/.

J'ai aussi tenté la réinstall de nginx en suivant les commandes données par ex sans grand succès.

Quels fichiers restent à vérifier du coup ?

Merci d'avance,

Bonjour,

Je suis surpris du chemin de ton certificat LetsEncrypt. Normalement, c'est de la forme :
/etc/letsencrypt/live/nomdedomain/cert.pem

Bonsoir à tous,

Merci Nekukab pour cette remarque ! J'avais volontairement tenté de déplacer les fichier sous /etc/nginx/ssl pour voir si l'erreur persistait et ai oublié de le remettre par la suite..

Après avoir remplacé /etc/nginx/ssl par /etc/letsencrypt/live/nomdedomain/, j'ai obtenu une erreur différente.

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Wed 2017-01-18 20:01:03 CET; 56s ago
     Docs: man:nginx(8)
  Process: 1669 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 22509 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 1672 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 22512 (code=exited, status=0/SUCCESS)

Jan 18 20:01:03 yoz nginx[1672]: nginx: [emerg] SSL_CTX_load_verify_locations("/etc/nginx/ssl/fullchain.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/nginx/ssl/fullchain.pem','r') erro...
Jan 18 20:01:03 yoz nginx[1672]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jan 18 20:01:03 yoz systemd[1]: nginx.service: control process exited, code=exited status=1
Jan 18 20:01:03 yoz systemd[1]: Failed to start A high performance web server and a reverse proxy server.
Jan 18 20:01:03 yoz systemd[1]: Unit nginx.service entered failed state.

J'ai alors enlevé le include /etc/nginx/ssl/params.conf; de ngnix.conf et depuis ça fonctionne !!

Du coup, la configuration donnée dans le tuto est incorrecte ?

    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é.