Bonjour! Mes deux sites lelogisencorse.ddns.net et seafile.julously.com fonctionnent en http et sont hébergés sur mon raspberry avec Nginx. J’ai voulu passer en https avec letsencrypt. Pas de soucis pour avoir les certificats avec les commandes
Je mets le premier (seafile) en « route » après avoir rajouté la conf qui va bien : ca tourne, cadenas vert cool… Je fais pareil avec le second, et patatra bad_cert blabla… Je reprends mes fichiers dans /etc/nginx/sites/available et effectivement, un raté de copier/collé et j’avais les chemins du certificat ssl du premier dans le fichier de conf du second… Je remets tout ça comme il faut et… Cadenas vert! pint j’envisage sereinement la fin de soirée (je me suis battu tout le dimanche avec nginx) dans le canapé avec madame!
Mais voila que mon client seafile ne se reconnecte pas… je rallume firefox et PAF! Bad-cert! alors qu’il fonctionnait bien il y a quelques minutes! Pire, il m’annonce que seafile (le premier donc) utilise le certificat du second!
seafile.julously.com uses an invalid security certificate. The certificate is only valid for lelogisencorse.ddns.net Error code: SSL_ERROR_BAD_CERT_DOMAIN
J’ai vérifié trois fois, les chemins sont bons! J’ai vidé le cache firefox sans succès et de toutes façons, mon tel android me dit la même chose via l’appli qui fonctionnait ce matin avec le même fichier de conf…
Du coup je mets hors ligne logis (je supprime le lien vers sites-enabled) : la, seafile fonctionne! Je remets logis en ligne et la, c’est lui qui ne fonctionne plus… Comme si le premier en ligne gardait la priorité en terme de ssl…
ben non, puisque l’erreur change de site selon lequel est mis en ligne en premier… Cela dit j’ai deux fichiers de conf :
server {
listen 80;
server_name lelogisencorse.ddns.netwww.lelogisencorse.ddns.net;
# error_page 500 502 503 504 /50x.html;
access_log /var/log/nginx/logis.access.log;
error_log /var/log/nginx/logis.error.log;
# force redirect http to https
rewrite ^ https://$http_host$request_uri? permanent;
server_tokens off;
# location = /50x.html {
# root html;
# }
}
server {
listen 443;
root /var/www/logis/grav-admin;
ssl on;
ssl_certificate /etc/letsencrypt/live/lelogisencorse.ddns.net/fullchain.pem; # path to your cacert.pem
ssl_certificate_key /etc/letsencrypt/live/lelogisencorse.ddns.net/privkey.pem; # path to your privkey.pem
server_name lelogisencorse.ddns.net;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:5m;
access_log /var/log/nginx/logis.access.log;
error_log /var/log/nginx/logis.error.log;
# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /etc/nginx/ssl/dhparam4.pem;
# secure settings (A+ at SSL Labs ssltest at time of writing)
# see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256$
ssl_prefer_server_ciphers on;
location / {
root /var/www/logis/grav-admin;
index index.php;
if (!-e $request_filename){ rewrite ^(.*)$ /index.php last; }
}
location ~ \.php$ {
root /var/www/logis/grav-admin;
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
}
et le second
server {
listen 80;
server_name seafile.julously.com;
root /var/www/mycloud/seafile-server-latest/seahub;
rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https
server_tokens off;
}
server {
listen 443;
root /var/www/mycloud/seafile-server-latest/seahub;
ssl on;
ssl_certificate /etc/letsencrypt/live/seafile.julously.com-0001/fullchain.pem; # path to your cacert.pem
ssl_certificate_key /etc/letsencrypt/live/seafile.julously.com-0001/privkey.pem; # path to your privkey.pem
server_name seafile.julously.com;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:5m;
Je viens d’avoir le même problème en mettant un autre site en ligne… un bug dans la création du lien symbolique : même si je suis dans le répertoire /etc/nginx il faut que je tape les chemins complèts des liens pour que le fichier en lien ait un contenu : sinon, il est créé mais est vide…