Bootstrap-Fehler bei Discourse-Installation: ENOENT - /etc/runit/1.d/letsencrypt

Hier ist ein Update.

Wenn Sie dies zum run-Abschnitt am Ende Ihrer app.yml hinzufügen, wird das Problem behoben, dass /usr/local/bin/letsencrypt Zertifikate für DISCOURSE_HOSTNAME und www.DISCOURSE_HOSTNAME anfordert.

- exec: sed -i "s|-d \\${DISCOURSE_HOSTNAME}|-d \\${DISCOURSE_HOSTNAME} -d www.\\${DISCOURSE_HOSTNAME}|g" /usr/local/bin/letsencrypt

Dies war (irgendwie?) früher ausreichend, aber jetzt, wenn die Anfrage für http://www.HOSTNAME/.well-known… eingeht, wird sie zur Nicht-www-Seite umgeleitet, anstatt die Herausforderung zu senden, die sie senden soll. Ich habe versucht, so etwas zu tun:

server {
  listen 80;
  listen [::]:80;
  server_name nzarchitecture.net.nz www.nzarchitecture.net.nz;

  # ACME-Herausforderung bedienen (Let's Encrypt)
  location ^~ /.well-known/acme-challenge/ {
    root /var/www/discourse/public;  # Stellen Sie sicher, dass dies mit Ihrem Let's Encrypt Webroot übereinstimmt
    allow all;
  }

  # Alles andere zu HTTPS umleiten
  location / {
    return 301 https://$host$request_uri;
  }
}

aber es nicht ganz herausgefunden.

Wenn jemand vom Team zuhört, wäre es gut, wenn es einen Letsencrypt-Hook gäbe, damit dies in einem after_letsencrypt aufgerufen werden könnte. Bevor diese Änderungen in after_ssl vorgenommen wurden, funktionierte es, aber jetzt scheint es, dass dies nach SSL ausgeführt wird, aber vor Letsencrypt.

3 „Gefällt mir“