Errore Bootstrap durante l'installazione di Discourse: ENOENT - /etc/runit/1.d/letsencrypt

Ecco un aggiornamento.

Aggiungere questo alla sezione run in fondo al tuo app.yml risolverà il problema di ottenere /usr/local/bin/letsencrypt per richiedere certificati per DISCOURSE_HOSTNAME e www.DISCOURSE_HOSTNAME.

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

Questo (in qualche modo?) era sufficiente, ma ora quando arriva la richiesta per http://www.HOSTNAME/.well-known… viene reindirizzata al sito non www anziché inviare la sfida che dovrebbe inviare. Ho provato a fare qualcosa del genere:

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

  # Serve ACME challenge (Let's Encrypt)
  location ^~ /.well-known/acme-challenge/ {
    root /var/www/discourse/public;  # Assicurati che corrisponda alla tua webroot Let's Encrypt
    allow all;
  }

  # Reindirizza tutto il resto a HTTPS
  location / {
    return 301 https://$host$request_uri;
  }
}

ma non ho capito bene.

Se qualcuno del team sta ascoltando, sarebbe utile se ci fosse un hook letsencrypt in modo che questo possa essere chiamato in un after_letsencrypt. Prima di apportare queste modifiche in after_ssl funzionava, ma sembra che ora se lo facciamo questo viene eseguito dopo ssl, ma prima di letsencrypt.

3 Mi Piace