J'essaie de passer des certificats auto-signés pour crypter des certificats sur mon serveur Web Nginx.
Actuellement, j'ai redirigé toutes les demandes à http/80
à https/443
, qui utilise un certificat auto-signé que j'ai créé il y a quelque temps.
Maintenant, à partir de ce que je comprends, crypterons apportons une demande au port 80 (comme j'utilise l'option webroot
de certbot
). Ces demandes sont redirigées, ce qui rend la génération de certificat infructueuse.
J'ai essayé d'y parvenir avec le bloc serveur suivant, écoutant au port 80:
server {
listen 80;
server_name sub.domain.tld;
server_tokens off;
location /.well-known {
root /var/www/letsencrypt;
}
location / {
return 301 https://$Host$request_uri;
}
}
Mais demande à /.well-known
sont redirigés vers https/443
de toute façon.
Comment puis-je rediriger toutes les demandes de http/80
à https/443
, sauf les demandes à /.well-known/
?
Essaye ça:
server {
listen 80;
server_name sub.domain.tld;
server_tokens off;
root /var/www/letsencrypt;
location /.well-known {
try_files $uri $uri/ =404;
}
location / {
return 301 https://$Host$request_uri;
}
}
Puisqu'il n'y avait pas try_files
Entrée dans votre serveur virtuel, il ne savait pas quoi faire avec les demandes qui arrivent à /.well-known
.