자, 저는 Ubuntu 18.04 LTS VPS를 사용 중이고 앱을 빌드하고 있습니다. 빌드가 완료된 후 웹사이트에 접속하면 NGINX 환영 메시지만 표시됩니다.
이런 현상이 왜 발생하는지 전혀 모르겠어요. app.yml 파일은 정상적으로 보이는데, 원인을 알 수가 없네요.
아마도 해당 서버에서 다른 nginx 웹 서버가 실행되고 있을 수 있습니다. Discourse가 중단되어 일반적인 nginx 환영 페이지가 표시되는 현상은 제가 한 번도 목격한 적이 없습니다.
그렇게 생각해서 NGINX와 일치하는 프로세스 이름을 검색해 봤는데, 아무것도 나오지 않았습니다. 그래서 모든 프로세스를 나열해 봤는데, 역시 아무것도 없었나요?
수정: 그 서버에 NGINX를 설치해 본 적이 없습니다.
어떻게 이런 상황이 되었는지는 기억합니다. Let’s Encrypt에 이메일을 설정했는데, ls@theforumssite.xyz였습니다. 그런 다음 해당 설정과 두 개의 템플릿 주석을 해제했습니다. 이후 앱을 다시 빌드했는데 작동하지 않았습니다. 모든 것을 초기화(디스코र्स 폴더 삭제)하고 다시 설정해 보았지만, 같은 문제가 반복됩니다.
클라우드플레어를 사용 중이신가요?
네, 저는 Cloudflare를 DNS 전용으로 사용 중인데, IP 주소에 직접 접속해도 동일한 문제가 발생합니다.
어디에 설치하시나요?
Google Cloud의 Ubuntu 18.04 VPS에서.
음, 갑자기 이제 동작하네요? 그래도 HTTPS는 아직 안 되네요 (Connection Refused)
음, 이제 상황이 어떻게 돌아가는 건지 전혀 모르겠어요. SSL 파일 두 개(ssl.crt, ssl.key)를 만들어서 /var/discourse/shared/standalone/ssl 디렉토리에 넣고, SSL 템플릿(Let’s Encrypt가 아닌)을 활성화한 뒤, 실행 섹션에 이 설정을 추가했어요. 그런데 HTTPS로 접속하면 연결이 거부되고, 이제는 HTTP로 접속하면 아예 데이터를 보내주지 않아요.
Google Cloud VPS를 사용 중이며 Ubuntu 18.04 LTS가 설치되어 있습니다.
이 내용은 다른 주제에서 다루는 것이 더 적절합니다.
자체 인증서를 직접 관리하는 대신, ./discourse-setup을 다시 실행하고 Let’s Encrypt용 이메일 주소를 입력하면 모든 작업이 자동으로 처리됩니다. 수동으로 진행하려면 해당 방법을 설명하는 주제를 여기서 검색하여 해당 지침을 따르셔야 합니다.
자체적으로 Let’s Encrypt 인증서를 생성할 그럴듯한 이유는 없습니다. discourse-setup가 이메일을 요구하는 이유가 바로 그것입니다. 여기서 불필요한 복잡성을 더하고 있습니다.
서버가 :443 포트로 접근 가능한지 확인해 보셨나요? DigitalOcean은 이러한 장애물이 존재하지 않기 때문에 권장됩니다. 설치 과정의 일부 임의적으로 처리하는 것을 고집하신다면 도움을 드릴 수 없으며, Google Cloud에 대해서는 거의 도움을 드릴 수 없습니다.
저도 그렇게 하려고 했지만, 사람들이 unsupported-install 태그만 보고 그냥 넘어갈 것 같아서요.
표준 설치 절차를 따르지 않으셨기 때문에, 현재 하시는 작업은 완전히 지원되지 않으며, 해당 태그는 정확한 표현입니다.
Let’s Encrypt로 이메일 절차를 진행할 때도 정확히 같은 일이 발생합니다.
알겠습니다. 제 실수였습니다. 앞으로 토픽을 게시할 때 이 점을 염두에 두겠습니다.
맞습니다. Google Cloud을 사용하시므로, 그에 따른 추가적인 복잡성을 처리해야 합니다. 이는 귀사의 선택 사항이며, 우리가 도움을 드릴 수 있는 부분이 아닙니다.
네, 알겠습니다. 도움 주셔서 감사합니다!
discourse-doctor는 도메인 이름을 통해 포트 443이 열려 있는지 확인하려고 합니다. 방화벽이나 보안 정책에 의해 차단되고 있을 것으로 추정됩니다. Gcloud에서 해당 포트를 열어줘야 한다는 것을 기억하는 것 같습니다.
이미 그런 거 아닌가요? 다시 확인해서 열려 있는지 아닌지 알려드릴게요.
또한 이메일도 추가했고, 지금 다시 빌드해서 차이가 나는지 확인하고 있습니다.