After Discourse installation can’t reach it in browser

@Rafeal 프롬프트에서 $letsencrypt_status == "ENTER to skip"입니다

@Stephen 방금 CentOS8 VM을 새로 설정하고, firewalld를 iptables 사용으로 전환한 뒤 docker를 설치하고 INSTALL-cloud.md에 있는 Discourse 설치 단계를 처음부터 다시 진행했습니다. 동일한 결과가 나왔습니다. 포트 80과 443에 대한 연결 시 즉시 연결이 끊어집니다. 저는 Let’s Encrypt를 사용하지 않습니다. 해당 프롬프트가 뜨면 그냥 ENTER 키를 누를 뿐입니다.

[root@disctest discourse]# telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
[root@disctest discourse]# ls shared/standalone/ssl/
disctest.nmr.mgh.harvard.edu.cer      disctest.nmr.mgh.harvard.edu_ecc.key
disctest.nmr.mgh.harvard.edu_ecc.cer  disctest.nmr.mgh.harvard.edu.key

[root@disctest discourse]# ls -l shared/standalone/ssl/disctest.nmr.mgh.harvard.edu.cer
-rw-r--r--. 1 root root 0 Sep  4 16:06 shared/standalone/ssl/disctest.nmr.mgh.harvard.edu.cer

[root@disctest discourse]# tail -1 shared/standalone/log/var-log/nginx/error.log
2020/09/04 20:20:37 [emerg] 6186#6186: cannot load certificate "/shared/ssl/disctest.nmr.mgh.harvard.edu.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

disctest.nmr.mgh.harvard.edu은 유효한 DNS 주소가 아닌 것 같습니다. 이것이 호스트 이름인가요? 하버드 대학의 공개 네트워크 블록에 호스팅되어 있나요?

스플릿 호라이즌(split horizon)을 사용하고 있나요?

사설 네트워크에 내부 DNS를 사용 중입니다.

아니요, 그게 뭔지 전혀 모릅니다.

네, 표준 설치가 예상대로 동작하지 않은 이유는 일반적인 환경이 아니기 때문이네요.

DNS 엔트리가 내부에서만 유효하다면, 맞습니다. 분할 DNS(Split DNS)를 사용하고 있는 것이죠. Let’s Encrypt는 DNS 검증을 통해 인증서를 발급할지 결정하는데, 이 경우 DNS 검증을 수행할 수 있는 방법이 없습니다. 학술 네트워크를 제외하면 이런 구성은 매우 드뭅니다.

분할 DNS는 고급 구성이며, ./discourse-setup은 이러한 경우를 위해 설계되지 않았습니다. 이 문서를 확인해 보시면, 초보자용 설치 가이드는 사용자의 환경을 대상으로 하지 않는다는 것을 알 수 있습니다.

그렇다면 app.yml 파일을 수동으로 편집하여 Let’s Encrypt 템플릿을 제거해야 합니다.