¿El foro se cayó, luego error de renovación de certificado relacionado con la configuración del firewall?

Hola!

Mi foro se cayó esta noche, entre hace 10 y 17 horas (no puedo decirlo con precisión). Las páginas aparentemente cargaban versiones cacheadas y muchos recursos no cargaban.

Detuve e inicié el contenedor sin éxito.

Lo reconstruí (una vez) y ahora tengo un mensaje de certificado caducado.

https://www.ssllabs.com/ssltest/analyze.html?d=unicyclist.com devuelve:
Válido hasta\tMié, 13 abr 2022 23:22:28 UTC (caducado hace 11 horas y 15 minutos) CADUCADO

acme.sh.log me dice esto:

Error al crear nuevo pedido. Le_OrderFinalize no encontrado. {
  "type": "urn:ietf:params:acme:error:rateLimited",
  "detail": "Error al crear nuevo pedido :: demasiadas autorizaciones fallidas recientemente: ver https://letsencrypt.org/docs/rate-limits/",
  "status": 429
}

Miré el registro más detenidamente y vi anteriormente múltiples veces, una vez al día desde marzo (no suficiente para activar el límite de tasa de Letsencrypt, según mis registros):

unicyclist.com:Error de verificación:Obteniendo http://unicyclist.com/.well-known/acme-challenge/uSv1JIUxVs-Nn7Zn2cIZO355KGaqrtutELs4pgw67_Y: Tiempo de espera durante la conexión (probablemente problema de firewall)

Establecí estas reglas de firewall en Hetzner a principios de marzo:

Entonces, básicamente, tengo algunas preguntas:

  1. ¿Podrían estas reglas del Firewall de Hetzner ser el problema? Si es así, ¿qué regla(s) faltan que podrían causar el problema? De hecho, eliminé todas estas reglas ahora.

  2. ¿Por qué tuve el mensaje unicyclist.com:Error de verificación:Obteniendo […] Tiempo de espera durante la conexión (probablemente problema de firewall) 10 veces en una única reconstrucción esta mañana? ¿Podría una sola reconstrucción activar el límite de tasa de Letsencrypt? :thinking:

  3. Dado que he alcanzado un límite de tasa, ¿significa eso que mi foro estará básicamente caído durante una semana y no puedo hacer nada al respecto? :grimacing:

[quote=“Canapin, post:1, topic:224261”]
Dado que he alcanzado un límite de tasa, ¿significa eso que mi foro básicamente está caído durante una semana y no puedo hacer nada al respecto? :grimacing:
[/quote]La solución que he utilizado es añadir un segundo nombre de host (por ejemplo, www, pero podría ser cualquier cosa) como se sugiere en Configuración de Let’s Encrypt con Múltiples Dominios, pero creo que ha habido algunos cambios en las plantillas que hacen que esas instrucciones no funcionen. Lo que hice para otro sitio hace un par de días fue editar /etc/runit/1.d/letsencrypt y añadir -d newdomain en los lugares donde ves -d realdomain. Luego, asegúrate de que el nuevo dominio apunte a tu servidor y ejecuta /etc/runit/1.d/letsencrypt.

También es posible que necesites abrir el puerto 80. Entiendo que no es necesario cuando hay un certificado válido, pero tú no tienes un certificado válido, así que creo que necesita leer desde el puerto 80 para empezar. No hay inconveniente en tener el puerto 80 abierto, ya que algunas personas podrían intentar acceder con http:// y si tienes el puerto 80 abierto, pueden ser redirigidas a https.

Trabajaré en actualizar esas instrucciones, pero mañana llega un camión de mudanzas y realmente debería estar preparándome para eso en lugar de publicar en meta. :slight_smile:

3 Me gusta

¡Gracias por tu respuesta!
¿Usar un dominio/subdominio nuevo requeriría un rebake de todas las publicaciones?
Tengo 1,6 millones de publicaciones. Un rebake también activaría el límite de velocidad de incrustación de Youtube, como descubrí cuando importé este foro desde vBulletin.

El problema con un nuevo dominio/subdominio temporal es que no soy el propietario del dominio en el que está alojado mi foro, lo cual es bastante molesto. Las respuestas del propietario pueden ser lentas y, si algo sale mal, son otros correos electrónicos los que van y vienen… No es muy práctico :grimacing:
De hecho, vi en Challenge Types - Let's Encrypt que el puerto 80 debería estar disponible en algunos “desafíos” (no sé qué tipo de desafío se utiliza al renovar un certificado de Discourse).


Aparte de esto, estoy realmente interesado en saber un poco más sobre lo que parecen ser 10 desafíos fallidos (¿es eso igual a una solicitud de certificado?) durante una sola reconstrucción.

¿Quizás una respuesta oficial sobre esto podría ser interesante?

Porque si por alguna razón esto activa más solicitudes de certificado de las permitidas por el límite de velocidad de Let’s Encrypt, ¡entonces no debería comportarse así :white_question_mark:

Extracto de acme.sh.log:

[Thu 14 Apr 2022 10:29:01 AM UTC] payload
[Thu 14 Apr 2022 10:29:01 AM UTC] POST
[Thu 14 Apr 2022 10:29:01 AM UTC] _post_url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157717290/JXMDvA'
[Thu 14 Apr 2022 10:29:01 AM UTC] _CURL='curl --silent --dump-header /shared/letsencrypt/http.header  -L '
[Thu 14 Apr 2022 10:29:01 AM UTC] _ret='0'
[Thu 14 Apr 2022 10:29:01 AM UTC] code='200'
[Thu 14 Apr 2022 10:29:01 AM UTC] Pending
[Thu 14 Apr 2022 10:29:01 AM UTC] sleep 2 secs to verify
[Thu 14 Apr 2022 10:29:03 AM UTC] checking
[Thu 14 Apr 2022 10:29:03 AM UTC] url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157717290/JXMDvA'
[Thu 14 Apr 2022 10:29:03 AM UTC] payload
[Thu 14 Apr 2022 10:29:03 AM UTC] POST
[Thu 14 Apr 2022 10:29:03 AM UTC] _post_url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157717290/JXMDvA'
[Thu 14 Apr 2022 10:29:03 AM UTC] _CURL='curl --silent --dump-header /shared/letsencrypt/http.header  -L '
[Thu 14 Apr 2022 10:29:04 AM UTC] _ret='0'
[Thu 14 Apr 2022 10:29:04 AM UTC] code='200'
[Thu 14 Apr 2022 10:29:04 AM UTC] unicyclist.com:Verify error:Fetching http://unicyclist.com/.well-known/acme-challenge/uSv1JIUxVs-Nn7Zn2cIZO355KGaqrtutELs4pgw67_Y: Timeout during connect (likely firewall problem)
[Thu 14 Apr 2022 10:29:04 AM UTC] pid

Luego, unos segundos después:

[Thu 14 Apr 2022 10:29:18 AM UTC] payload
[Thu 14 Apr 2022 10:29:19 AM UTC] POST
[Thu 14 Apr 2022 10:29:19 AM UTC] _post_url='https://acme-v02.api.letsencrypt.org/acme/chall-v3/98157816830/tzknWw'
[Thu 14 Apr 2022 10:29:19 AM UTC] _CURL='curl --silent --dump-header /shared/letsencrypt/http.header  -L '
[Thu 14 Apr 2022 10:29:19 AM UTC] _ret='0'
[Thu 14 Apr 2022 10:29:19 AM UTC] code='200'
[Thu 14 Apr 2022 10:29:19 AM UTC] unicyclist.com:Verify error:Fetching http://unicyclist.com/.well-known/acme-challenge/UUi8goql9f4QjXwqdk_CUISDmwUpLHqhrSqwbr5D2aY: Timeout during connect (likely firewall problem)
[Thu 14 Apr 2022 10:29:19 AM UTC] pid

Y así, 10 veces durante esta reconstrucción.

No sé mucho sobre esto, así que tal vez entiendo las cosas completamente mal.

Debe abrir el puerto 80. Es necesario para renovar el certificado. Además, su sitio no funcionará para las personas que intenten acceder a él por HTTP por primera vez, ya que no obtendrán la redirección permanente a HTTPS.

6 Me gusta

¡He reconstruido el foro con el puerto 80 disponible y mi foro está en línea de nuevo. No tuve que esperar una semana.

¡Gracias!

4 Me gusta

¡Me alegro de que eso lo haya solucionado! (Para mi solución alternativa para demasiadas solicitudes de Let’s Encrypt, no cambias la URL del foro, solo agregas un segundo dominio a la solicitud de certificado. Puede ser cualquier otro dominio, por lo que podrías apuntar algún dominio que sí poseas al foro y reconstruir como sugerí, pero afortunadamente no lo necesitaste).

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.