Meu fórum caiu esta noite, entre 10 e 17 horas atrás (não consigo dizer precisamente). As páginas estavam aparentemente carregando versões em cache e muitos recursos não carregaram.
Parei e iniciei o contêiner sem sucesso.
Eu o reconstruí (uma vez) e agora tenho uma mensagem de certificado expirado.
Erro ao criar nova ordem. Le_OrderFinalize não encontrado. {
"type": "urn:ietf:params:acme:error:rateLimited",
"detail": "Erro ao criar nova ordem :: muitas autorizações falharam recentemente: veja https://letsencrypt.org/docs/rate-limits/",
"status": 429
}
Olhei o log com mais atenção e vi anteriormente várias vezes, uma vez por dia desde março (não o suficiente para acionar o limite de taxa do Letsencrypt, de acordo com meus logs):
unicyclist.com:Erro de verificação:Buscando http://unicyclist.com/.well-known/acme-challenge/uSv1JIUxVs-Nn7Zn2cIZO355KGaqrtutELs4pgw67_Y: Tempo limite durante a conexão (provavelmente problema de firewall)
Defini estas regras de firewall na Hetzner no início de março:
Essas regras de Firewall da Hetzner podem ser o problema? Se sim, qual(is) regra(s) estão faltando que poderiam causar o problema? Removi todas essas regras agora, aliás.
Por que tive a mensagem unicyclist.com:Erro de verificação:Buscando […] Tempo limite durante a conexão (provavelmente problema de firewall)10 vezes em uma única reconstrução esta manhã? Uma única reconstrução poderia acionar o limite de taxa do Letsencrypt?
Como atingi um limite de taxa, isso significa que meu fórum está basicamente fora do ar por uma semana e não posso fazer nada a respeito?
[quote=“Canapin, post:1, topic:224261”]
Como atingi um limite de taxa, isso significa que meu fórum ficará basicamente inativo por uma semana e não posso fazer nada a respeito?
[/quote]A solução que usei foi adicionar um segundo nome de host (por exemplo, www, mas poderia ser qualquer coisa) conforme sugerido em Configurando o Let’s Encrypt com Múltiplos Domínios, mas acredito que houve algumas alterações nos modelos que fazem com que essas instruções não funcionem. O que fiz para outro site há alguns dias foi editar /etc/runit/1.d/letsencrypt e adicionar -d newdomain nos locais onde você vê -d realdomain. Em seguida, certifique-se de que o novo domínio esteja apontado para o seu servidor e, em seguida, execute /etc/runit/1.d/letsencrypt.
Você também pode precisar abrir a porta 80. Meu entendimento é que ela não é necessária quando há um certificado válido, mas você não tem um certificado válido, então acho que ela precisa ler da porta 80 para começar. Não há desvantagem em ter a porta 80 aberta, pois algumas pessoas podem tentar acessar com http:// e, se você tiver a porta 80 aberta, elas poderão ser redirecionadas para https.
Trabalharei na atualização dessas instruções, mas tenho um caminhão de mudança chegando amanhã e deveria estar me preparando para isso em vez de postar no meta.
Obrigado pela sua resposta!
Usar um novo domínio/subdomínio exigiria um “rebake” de todos os posts?
Eu tenho 1,6 milhão de posts. Um “rebake” também acionaria o limite de taxa de incorporação do YouTube, como descobri quando importei este fórum do vBulletin.
O problema com um novo domínio/subdomínio temporário é que eu não sou o proprietário do domínio em que meu fórum está hospedado, o que é bastante irritante. As respostas do proprietário podem ser lentas e, se algo der errado, são outros e-mails indo e voltando… Nada muito prático
Eu realmente vi em Challenge Types - Let's Encrypt que a porta 80 deve estar disponível em alguns “desafios” (não sei que tipo de desafio é usado ao renovar um certificado do Discourse).
Além disso, estou realmente interessado em saber um pouco mais sobre o que parecem ser 10 desafios falhados (isso é igual a uma solicitação de certificado?) durante uma única reconstrução.
Talvez uma resposta oficial sobre isso pudesse ser interessante?
Porque se, por algum motivo, isso acionar mais solicitações de certificado do que o permitido pelo limite de taxa do Let’s Encrypt, então não deveria se comportar assim
Trecho 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
Então, alguns segundos depois:
[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
E assim por diante, 10 vezes durante esta reconstrução.
Eu não sei muito sobre isso, então talvez eu esteja completamente enganado.
Você deve abrir a porta 80. É necessário para renovar o certificado. Além disso, seu site não funcionará para pessoas que tentarem acessá-lo via HTTP pela primeira vez, pois elas não receberão o redirecionamento permanente para HTTPS.
Fico feliz que tenha funcionado! (Para a minha solução alternativa para muitas solicitações do Let’s Encrypt, você não altera o URL do fórum, apenas adiciona um segundo domínio à solicitação de certificado. Pode ser qualquer outro domínio, então você poderia apontar algum domínio que você possua para o fórum e reconstruir como sugeri, mas felizmente você não precisou disso.)