Acabo de actualizar esto ya que la versión anterior ya no funcionaba. Lo probé en dos sitios, así que creo que debería estar bien.
EDITAR: Encontré una solución, ignora todo lo siguiente, pero lo dejo aquí para futuras personas. Dejo la solución al final.
Me acabo de encontrar con este hilo. Entonces, mi sitio es: forums.mysite.me. Tengo 3 dominios en mi configuración de NGINX y en mi proveedor de dominios que estoy usando DNS CNAME’s para que regresan como inseguros:
mysite.me
www.mysite.me
forum.mysite.me (sin la "s" si alguien escribe mal o adivina la URL)
¿Uso mi dominio base en la configuración que está en la publicación original? ¿O cómo lo configuro para los 3?
after_ssl:
# dile a letsencrypt qué certificados adicionales obtener
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d forums.mysite.me --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d forums.mysite.me --fullchainpath"
Estoy confundido porque la primera sección “replace” tiene un from: /--keylength/ y la que está debajo tiene from: /--fullchainpath/. Entonces, ¿hago 2 entradas como esa para cada una de esas 3 URL que listé o?.. ¿O sería esto?
after_ssl:
# dile a letsencrypt qué certificados adicionales obtener
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d mysite.me -d www.mysite.me -d forum.mysite.me --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d mysite.me -d www.mysite.me -d forum.mysite.me --fullchainpath"
^ Sí, el cuadro de arriba justo aquí fue la solución para múltiples sitios/LetsEncrypt. Muy emocionado.
Sí. Hay dos reemplazos diferentes en el archivo que deben actualizarse con los nombres de host.
¿No es eso lo que te dio la publicación de arriba cuando ingresaste los nombres como se describe?
¿Cómo podemos editar el OP para que no sea confuso?
Personalmente, diría que lo muevas encima del cuadro de entrada, para que lo veas mientras escribes.
La publicación dio eso, sí, pero no lo entendí porque
¿Por qué la sección “si necesita agregar varios dominios” que cito no responde a eso?
OK. ¿Qué tal esto:
y luego después del código a copiar, continúa:
¿Tiene sentido?
Creo que es más fácil poner el código real con varios sitios como el ejemplo que usé anteriormente:
after_ssl:
# tell letsencrypt what additional certs to get
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d mysite.me -d www.mysite.me --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d mysite.me -d www.mysite.me --fullchainpath"
Creo que la mayoría de la gente querrá añadir solo un dominio extra, así que mi forma es más fácil y proporciona una manera sencilla de obtener el texto exacto que necesitas sin tener que hacerle ninguna edición.
¿Quizás todavía está claro que si tu sitio es discourse.y.com y quieres certificados para discourse.y.com y y.com, solo necesitas introducir y.com en el campo “domain2” y hacer clic en el icono de copiar?
En tu ejemplo, si has configurado tu Discourse como mysite.com, no necesitas la parte -d mysite.me en tu ejemplo (o si tu sitio es www.mysite.me, solo necesitas la parte -d mysite.me).
¿En qué archivo se está agregando este código?
El código debe agregarse casi al final de su archivo app.yml, en la sección hooks:
18 publicaciones se dividieron en un nuevo tema: Let’s Encrypt con múltiples dominios no funcionaba para certificados ECC
¿Todavía necesito los otros dos reemplazos de fragmentos de código o este nuevo fragmento de código es todo lo que necesito?
Lo agregué y recompilé, pero todavía obtengo un error de privacidad SSL al ir a uno de los dominios https que quiero redirigir.
Al mirar el certificado, su nombre común es forum.domain.com, y O y OU no forman parte del certificado.
Estoy intentando redirigir https://domain.com y https://www.domain.com a https://forum.domain.com.
Cuando uso http://domain.com y http://www.domain.com, se redirige correctamente a https://forum.domain.com.
¿Qué insertaste? ¿Cómo se ve tu stanza after_ssl?
Parece esto (cambié el nombre de dominio real)
after_ssl:
- replace:
filename: /etc/runit/1.d/letsencrypt
from: /-d forum.mydomain.com /
to: -d forum.mydomain.com -d www.mydomain.com -d mydomain.com
global: true
También añadí esto
LETSENCRYPT_ALTERNATE_NAMES: mydomain.com,www.mydomain.com
El error del navegador es
net::ERR_CERT_COMMON_NAME_INVALID
¿Se resuelven todos los nombres? ¿No tienen Cloudflare delante de ellos? ¿Has alcanzado los límites de velocidad? Puedes mirar en el contenedor y ejecutar /etc/runit/1.d/letsencrypt y ver qué sucede
Todos los nombres se resuelven, no hay Cloudflare, los índices de aciertos deberían estar bien.
Aquí está el resultado de ejecutar letsencrypt;
(Nombre de dominio reemplazado)
/var/www/discourse# /etc/runit/1.d/letsencrypt
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[Tue Apr 29 04:02:13 PM UTC 2025] Unknown parameter : 4096
[Tue Apr 29 04:02:13 PM UTC 2025] Installing key to: /shared/ssl/forum.domain.com.key
[Tue Apr 29 04:02:13 PM UTC 2025] Installing full chain to: /shared/ssl/forum.domain.com.cer
[Tue Apr 29 04:02:13 PM UTC 2025] Run reload cmd: sv reload nginx
ok: run: nginx: (pid 429) 10662s
[Tue Apr 29 04:02:13 PM UTC 2025] Reload success
[Tue Apr 29 04:02:13 PM UTC 2025] Unknown parameter : ec-256
[Tue Apr 29 04:02:14 PM UTC 2025] Installing key to: /shared/ssl/forum.domain.com_ecc.key
[Tue Apr 29 04:02:14 PM UTC 2025] Installing full chain to: /shared/ssl/forum.domain.com_ecc.cer
[Tue Apr 29 04:02:14 PM UTC 2025] Run reload cmd: sv reload nginx
ok: run: nginx: (pid 429) 10663s
[Tue Apr 29 04:02:14 PM UTC 2025] Reload success
Miré dentro del archivo, aquí hay uno interesante
issue_cert() {
LE_WORKING_DIR="${LETSENCRYPT_DIR}" /shared/letsencrypt/acme.sh --issue $2 -d forum.domain.com -d www.domain.com -d domain.com--keylength $1 -w /var/www/discourse/public
}
¿Parece que falta un espacio entre el último dominio y --keylength?
domain.com--keylength
Solucionar eso resolvió el problema, gracias por la ayuda.
¿Supongo que la solución debería ser agregar también / al campo to?
after_ssl:
- replace:
filename: /etc/runit/1.d/letsencrypt
from: /-d forum.domain.com /
to: "-d forum.domain.com -d www.domain.com "
global: true
Deberían ser comillas, no barras. He editado tu publicación y la del OP. Lo que tienes ahora debería funcionar.