Voici une mise à jour.
L’ajout de ceci à la section run en bas de votre app.yml résoudra le problème de la demande de certificats pour DISCOURSE_HOSTNAME et www.DISCOURSE_HOSTNAME à partir de /usr/local/bin/letsencrypt.
- exec: sed -i "s|-d \\${DISCOURSE_HOSTNAME}|-d \\${DISCOURSE_HOSTNAME} -d www.\\${DISCOURSE_HOSTNAME}|g" /usr/local/bin/letsencrypt
Ceci (d’une manière ou d’une autre ?) suffisait auparavant, mais maintenant, lorsque la demande arrive pour http://www.HOSTNAME/.well-known…, elle est redirigée vers le site non www au lieu d’envoyer le défi qu’elle est censée envoyer. J’ai essayé de faire quelque chose comme ceci :
server {
listen 80;
listen [::]:80;
server_name nzarchitecture.net.nz www.nzarchitecture.net.nz;
# Servir le défi ACME (Let's Encrypt)
location ^~ /.well-known/acme-challenge/ {
root /var/www/discourse/public; # Assurez-vous que cela correspond à votre webroot Let's Encrypt
allow all;
}
# Rediriger tout le reste vers HTTPS
location / {
return 301 https://$host$request_uri;
}
}
mais je n’ai pas tout à fait compris.
Si quelqu’un de l’équipe écoute, il serait bon qu’il y ait un hook letsencrypt afin que cela puisse être appelé dans un after_letsencrypt. Avant d’apporter ces modifications dans after_ssl, cela fonctionnait, mais il semble que maintenant si nous faisons cela, cela s’exécute après ssl, mais avant letsencrypt.