Create new order error. Le_OrderFinalize not found. {
"type": "urn:ietf:params:acme:error:rateLimited",
"detail": "Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/",
"status": 429
}
로그를 더 자세히 살펴보니 3월부터 하루 한 번씩 여러 번(로그 기준으로 보면 Letsencrypt 레이트 리미트를 트리거할 정도는 아니지만) 다음과 같은 메시지가 있었습니다:
unicyclist.com:Verify error:Fetching http://unicyclist.com/.well-known/acme-challenge/uSv1JIUxVs-Nn7Zn2cIZO355KGaqrtutELs4pgw67_Y: Timeout during connect (likely firewall problem)
이 Hetzner 방화벽 규칙이 문제일 수 있나요? 그렇다면 어떤 규칙이 누락되어 이 문제를 일으킬 수 있을까요? 참고로 방금 이 모든 규칙을 삭제했습니다.
왜 오늘 아침에 단 한 번의 재구축 중에 unicyclist.com:Verify error:Fetching […] Timeout during connect (likely firewall problem) 메시지가 10번이나 발생했나요? 재구축 한 번으로 Letsencrypt 레이트 리미트가 트리거될 수 있을까요?
이미 레이트 리미트에 도달했으므로, 제 포럼이 일주일 동안 기본적으로 다운된 상태이고 제가 할 수 있는 것이 아무것도 없는 걸까요?
제가 사용한 해결책은 여러 도메인으로 Let’s Encrypt 설정하기 문서에서 제안한 대로 두 번째 호스트명(예: www, 또는 다른 이름)을 추가하는 것이었습니다. 하지만 템플릿에 일부 변경이 있어 해당 설명이 더 이상 작동하지 않는 것 같습니다. 며칠 전 다른 사이트에서 제가 한 작업은 /etc/runit/1.d/letsencrypt 파일을 편집하여 -d realdomain이 보이는 위치에 -d newdomain을 추가하는 것이었습니다. 그런 다음 새 도메인이 내 서버를 가리키도록 설정하고 /etc/runit/1.d/letsencrypt를 실행하면 됩니다.
포트 80을 열어야 할 수도 있습니다. 유효한 인증서가 있으면 포트 80이 필요하지 않다고 이해하고 있지만, 현재 유효한 인증서가 없으므로 시작하려면 포트 80에서 읽어야 할 것 같습니다. 포트 80을 열어 두는 데는 단점이 없습니다. 일부 사용자가 http://로 접속을 시도할 수 있는데, 포트 80이 열려 있으면 그들을 https로 리다이렉트할 수 있기 때문입니다.
해당 설명을 업데이트하는 작업을 진행하겠습니다. 하지만 내일 이삿짐차가 도착할 예정이라 메타 포럼에 글을 쓰는 것보다 이사 준비를 해야 할 것 같습니다.
답변 감사합니다!
새 도메인/서브도메인을 사용하는 경우에도 모든 게시물을 다시 생성(rebake)해야 하나요?
저는 160만 개의 게시물이 있습니다. 이 포럼을 vBulletin에서 가져올 때 경험해 보았듯이, 다시 생성을 하면 YouTube 임베딩 속도 제한(rate limit)도 발생하게 됩니다.
임시 새 도메인/서브도메인을 사용하는 문제점은 제 포럼이 호스팅된 도메인의 소유자가 저라는 점인데, 이는 꽤 귀찮은 일입니다. 소유자의 응답이 느릴 수 있고, 문제가 발생하면 다른 이메일을 오가야 하니까요. 매우 실용적이지 않습니다
실제로 Challenge Types - Let's Encrypt 에서 포트 80이 일부 "challenge"에서 사용 가능해야 한다는 것을 확인했습니다. (Discourse에서 인증서를 갱신할 때 어떤 종류의 challenge가 사용되는지는 모르겠습니다.)
이 외에도, 단일 재빌드(rebuild) 과정에서 발생한 10개의 실패한 challenge(이것이 인증서 요청과 같은 의미인가요?)에 대해 조금 더 알고 싶습니다.
이 부분에 대한 공식적인 답변이 있으면 도움이 될 것 같습니다.
만약 어떤 이유로 인해 Let’s Encrypt의 속도 제한이 허용하는 것보다 더 많은 인증서 요청이 트리거된다면, 이렇게 동작해서는 안 되니까요
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
몇 초 후:
[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
그렇게 해결되어서 다행입니다! (Let’s Encrypt 요청이 너무 많을 때의 제 우회 방법은 포럼 URL을 변경하는 것이 아니라, 인증서 요청에 두 번째 도메인을 추가하는 것입니다. 그 도메인은 아무 도메인이든 될 수 있으므로, 본인이 소유한 다른 도메인을 포럼으로 가리키고 제가 제안한 대로 다시 구성할 수 있지만, 다행히도 그렇게 할 필요가 없었네요.)