peyrusse
(PEYRUSSE Christian)
1
안녕하세요,
오늘 제 Discourse 설치 환경의 인증서가 만료되었습니다.
아래 명령어를 따라 갱신을 시도해 보았습니다:
ssh root@your.discourse.server
cd /var/discourse/shared/standalone
cp -r ssl ssl_backup
rm ssl/*
cd /var/discourse
./launcher rebuild app
실행 후 /var/discourse/shared/standalone/ssl 디렉터리에서 새 파일이 생성된 것을 확인할 수 있지만, 웹사이트에서는 이 새 인증서가 로드되지 않습니다.
이 문제를 해결하는 방법에 대한 아이디어가 있을까요?
이 단계들은 보통 불필요합니다 - 빌드 스크립트만으로도 필요한 경우 인증서가 자동으로 업데이트됩니다.
디렉터리 내용 삭제가 빌드 과정에 영향을 미치고 있는 것은 아닌지 궁금합니다.
pfaffman
(Jay Pfaffman)
3
Let’s Encrypt가 제공한 인증서가 아닌 사용자 지정 인증서를 사용하려는 건가요?
Allow SSL / HTTPS for your Discourse Docker setup (더 이상 권장되지 않는 방법)를 따랐나요, 아니면 표준 설치로 진행했나요?
인증서 갱신을 방해할 수 있는 Cloudflare 또는 기타 도구를 사용하고 있나요?
peyrusse
(PEYRUSSE Christian)
4
클라우드플레어는 전혀 사용하지 않으며, Let’s Encrypt에서 발급한 인증서입니다.
pfaffman
(Jay Pfaffman)
5
컨테이너(./launcher enter app)에 들어가서 명령어를 직접 실행해 보셔야 합니다.
cd /root/acme.sh && LE_WORKING_DIR="${LETSENCRYPT_DIR}" ./acme.sh --upgrade --auto-upgrade
이렇게 시도해 볼 수 있습니다.
DNS에 문제가 있는 건 아닌가요? 흔히들 문제의 원인은 항상 DNS라고 합니다. 호스트네임은 무엇인가요?
몇 달 전 저한테도 똑같은 문제가 있었어요. 메타에서 찾을 수 있는 방법을 다 시도해 봤지만, 결국 서버를 그냥 재시작하니 해결됐습니다.
peyrusse
(PEYRUSSE Christian)
7
저는 이렇게 해 보았습니다 
- 서버 재시작: 변화 없음
- root@VM-Discourse-01-app:/var/www/discourse# cd /root/acme.sh && LE_WORKING_DIR=“${LETSENCRYPT_DIR}” ./acme.sh --upgrade --auto-upgrade
[Tue 06 Feb 2024 06:53:56 AM UTC] Already uptodate!
[Tue 06 Feb 2024 06:53:56 AM UTC] Upgrade success!
하지만 discourse를 실행하면 URL에서 인증서가 설정되지 않은 것을 볼 수 있습니다.
peyrusse
(PEYRUSSE Christian)
8
드디어 작동합니다. 제 Azure 환경에서 포트 80이 닫혀 있어서 인증서를 생성할 때 챌린지 응답이 실패했었네요 … 도움 주셔서 감사합니다.