Para que conste, yo tuve el mismo problema y la causa fue que olvidé redirigir el puerto 80 al servidor.
La verificación de DNS realizada por discourse-server.sh podría haberse ejecutado solo en el puerto 443 y no detectó el problema.
Sin embargo, Let’s Encrypt también necesita que el puerto 80 esté abierto.