설치 후 0바이트 키와 인증서가 생성되지 않았습니다

discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub 의 설치 지침을 따라 Discourse를 설치했습니다. (Digital Ocean droplet)

설치 후 브라우저로 사이트를 방문하려고 하면 ‘connection refused’ 오류가 발생합니다.

관심 있는 항목들:

ls -l /var/discourse/shared/standalone/ssl/
-rw-r--r-- 1 root root 0 Jun 15 11:26 forums.MYDOMAIN.com.key
-rw-r--r-- 1 root root 0 Jun 15 11:26 forums.MYDOMAIN.com_ecc.key
./launcher logs app | grep letsencrypt
run-parts: executing /etc/runit/1.d/ **letsencrypt**
[Tue 15 Jun 2021 11:26:09 AM UTC] **Please check log file for more details: /shared/letsencrypt** /acme.sh.log
[Tue 15 Jun 2021 11:26:09 AM UTC] **Please check log file for more details: /shared/letsencrypt** /acme.sh.log
cat: /shared/ **letsencrypt** /forums.MYDOMAIN.com/forums.MYDOMAIN.com.key: No such file or directory
[Tue 15 Jun 2021 11:26:10 AM UTC] **Please check log file for more details: /shared/letsencrypt** /acme.sh.log
[Tue 15 Jun 2021 11:26:10 AM UTC] **Please check log file for more details: /shared/letsencrypt** /acme.sh.log
cat: /shared/ **letsencrypt** /forums.MYDOMAIN.com_ecc/forums.MYDOMAIN.com.key: No such file or directory

여러 번 설치를 다시 시도했지만 동일한 결과가 나왔습니다. 다음 단계에 대한 조언이 있을까요?

1개의 좋아요

추측이지만 혹시 Netlify로 사이트를 호스팅하고 계신가요?

수정: 저도 그 회사에서 같은 오류가 발생했습니다.

세스, 고마워. 나한테는 없거든.

SSL 주석을 처리한 상태로 앱을 다시 빌드하면 정상 작동합니다. 따라서 오류는 Let’s Encrypt 관련 부분에 있는 것으로 보입니다. 이 사이트에는 인증서가 하나도 표시되지 않으므로, 한도에 도달한 것 같지는 않습니다.

명령줄에서 실행해도 추가적인 정보를 제공하지 않습니다.

LE_WORKING_DIR=/shared/letsencrypt /shared/letsencrypt/acme.sh --issue -d community.grazinggrass.com -k 4096 -w /var/www/discourse/public --debug

–server letsencrypt 옵션을 추가하면 다음과 같은 오류가 발생합니다.

MYDOMAIN.com:Verify error:Fetching http://MYDOMAIN.com/.well-known/acme-challenge/xDUsp83k9OJ-FjyBhihad1_WH2ixnliN7rU0JBUp7Zg: Connection refused
1개의 좋아요

여기서도 정확히 같은 문제가 발생합니다! 이메일을 지정하여 acme.sh --register-account -m my@example.com 명령을 실행해 미리 등록을 시도했는데, 등록은 된 것으로 보이지만 discourse를 다시 설치해도 정확히 같은 오류가 나네요.

1개의 좋아요

저도 같은 방법으로 해봤습니다, @dmitchell. 변화가 없습니다.

1개의 좋아요

acme.sh 스크립트에서 letsencrypt를 기본 CA로 강제 지정해서 이 문제를 해결했습니다. 아래 명령어를 실행하면 되는 것 같습니다:

./acme.sh --set-default-ca  --server  letsencrypt

그 후 앱을 다시 빌드하면 됩니다.

2개의 좋아요

이것은 버그인 것 같고, 다른 보고들도 있으며 해결책도 가지고 있습니다. 아직 직접 확인해 보지는 않았지만, #contribute:bug으로 옮기겠습니다.

1개의 좋아요

저에게는 작동하지 않습니다. 혹시 누락된 단계가 있을까요?

1개의 좋아요

저는 /var/discourse/shared/standalone/letsencrypt에서 실행했지만, 동시에 같은 디렉토리의 account.conf 파일도 다음 옵션으로 업데이트했습니다:

DEFAULT_CA="https://acme-v02.api.letsencrypt.org/directory"

어느 쪽이 효과가 있었는지 확실하지 않습니다!

3개의 좋아요

재현할 수 있습니다. DO에 설치를 진행했는데 connection refused가 발생합니다. 0바이트 키도 확인했습니다:

root@jomaxro-letsencrypt-testing:/var/discourse# ls -l /var/discourse/shared/standalone/ssl/
total 0
-rw-r--r-- 1 root root 0 Jun 16 16:31 le-testing.demo-by-discourse.com.key
-rw-r--r-- 1 root root 0 Jun 16 16:31 le-testing.demo-by-discourse.com_ecc.key
1개의 좋아요

하트를 눌렀습니다. 다만, 제게도 당신의 해결책이 잘 작동했는지 확인하고 싶었습니다.

그런 걸 잘하는 사람이라면 금방 해결할 수 있을 것 같습니다.

지금 수정 작업 중이니 잠시만 기다려 주세요

2개의 좋아요

앱을 다시 빌드한 후 이제 제 환경에서는 정상적으로 작동합니다.

1개의 좋아요

이제 모두 수정되었어야 합니다.

5개의 좋아요

CA는 install 명령을 실행하기 전에 설정하는 게 아닌가요?

1개의 좋아요

불편을 드려 죄송합니다. 보고해 주셔서 감사합니다!

1개의 좋아요

git pull을 실행하고 다시 빌드했나요?

2개의 좋아요

이 주제는 2일 후 자동으로 닫혔습니다. 더 이상 답변을 게시할 수 없습니다.