내 Discourse가 다운됐어요. 아무것도 로드되지 않아요

지원팀 여러분께,

제 Discourse 페이지(https://wespenreboards.com/)가 작동하지 않습니다. 로그인 페이지조차 열리지 않습니다. 이전에 인증서 관련 문제가 있었던 적이 있지만, 이번에는 그런 것 같지 않습니다. DigitalOcean 드롭렛 콘솔에서 업데이트 명령어를 실행해 보았지만, 문제는 해결되지 않았습니다.

cd /var/discourse

git pull

./launcher bootstrap web_only && ./launcher destroy web_only && ./launcher start web_only

콘솔 스크린샷과 포럼 URL을 입력했을 때 Chrome에서 나타나는 화면을 첨부했습니다. 콘솔 텍스트에 많은 경고(WARNINGS)가 표시되고 있습니다. 이것이 문제와 관련이 있을까요? 저는 이런 기술적인 부분에 대해 초보입니다.

누군가 이 문제를 해결하는 데 도움을 주실 수 있을까요?

감사합니다,
Wes Penre

아니요, 해롭지 않습니다. 전체 리빌드 로그를 올려주실 수 있을까요?

리처드 씨, 안녕하세요. 전체 콘솔 로그를 복사해서 붙여넣는 방법은 무엇인가요? Apparently 일반적인 방식으로 단순히 복사하고 붙여넣을 수 없다고 합니다. 간단하게 복사해서 붙여넣을 수 있는 방법이 있을까요?

죄송합니다. 디스코urs 디버깅은 도와드릴 수 있지만, 컴퓨터나 사용 중인 클라우드 플랫폼 관련 문제에는 도움을 드리기 어렵습니다.

대신 로그를 스크롤하여 오류로 보이는 부분을 찾아 스크린샷을 찍어 보시기 바랍니다.

내가 찾은 유일한 오류 메시지는 이거였어요:

아직 콘솔에 연결할 수 있나요?

사이트가 응답하지 않는 것으로 보아 네트워크 연결이 되어 있지 않은 것 같습니다. Discourse가 다운되어 있었다면 연결 거절 메시지가 표시되었을 텐데, 타임아웃이 발생했습니다.

Droplet을 재시작해 보십시오.

digitalocean.com에 티켓을 열어서 문의하십시오.

알겠습니다. 그렇게 하겠습니다! 그들에게 연락하겠습니다. 감사합니다, 제이!

네, DigitalOcean 웹사이트에서 콘솔에 접속할 수 있습니다.

아니요. 그게 아닙니다.

핑이 한 번만 전송됩니다. 그 후에는… 아무것도 없습니다. 그래서 문제가 Discourse 때문인지, 아니면 다른 원인 때문인지 확신이 서지 않습니다. 방화벽이 켜져 있는 건가요?

아니요, 방화벽은 아닙니다. 아무것도 변경된 것이 없습니다. 제가 한 일은 인증서가 만료되지 않도록 확인하기 위해 다음 명령을 실행한 것뿐입니다:

cd /var/discourse

git pull

./launcher bootstrap web_only && ./launcher destroy web_only && ./launcher start web_only

그 후 누군가 포럼이 다운되어 있다는 것을 알아채고 저에게 이메일을 보냈습니다. 포럼이 다운된 것이 이 명령들을 실행한 때문인지, 아니면 그 전에 이미 다운되어 있었는지는 명확하지 않습니다. 하지만 이 명령을 실행하는 것이 왜 이런 문제를 일으키는지 저는 알지 못합니다.

저는 DigitalOcean에 연락했고, 그들은 저에게 이렇게 보내왔습니다:

안녕하세요 Wes,

연락해 주시고 추가 정보를 제공해 주셔서 감사합니다. 해당 사용자가 콘솔을 어떤 종류를 사용했는지는 그가 도착한 후 Droplet에서 무슨 일이 일어났는지에 대해 크게 관련이 없습니다.

“./launcher start up” 명령을 사용하셨다는 것을 확인했습니다. 대신 기본 명령인 "./launcher start app"을 시도해 보세요.

이 방법으로 해결되지 않으면, discourse가 비표준 방식으로 설정되었음을 의미하므로 해당 개발자에게 문의하셔야 합니다.

start app을 실행했고, 다음과 같은 메시지를 받았습니다:

컨테이너 2개 구성에 대해 잘 모르지만, 이렇게 보니 이전에 있던 앱을 삭제한 것 같네요. 재구축 과정에서 문제가 발생하면 이전 버전을 사용할 수 없게 됩니다.

근데… 그 컨테이너들이 현재 실행 중인가요?

잘 모르겠어요. 예를 들어 .yml 파일 같은 건 한 번도 사용해 본 적이 없거든요. "두 개의 컨테이너"가 무엇을 의미하는지조차 모르겠어요. 다음에 무엇을 해야 할지 아이디어가 있을까요?

DigitalOcean 콘솔에 접근할 수 있고, WinSCP를 통해 사이트에 접근할 수 있습니다.

이제 DigitalOcean에서도 다음 메시지를 받았습니다:

드롭레트를 검토해 보니 서버는 가동 중이며 응답하고 있지만, 현재 HTTP 및 HTTPS 포트가 닫혀 있는 상태입니다.

> root@jump:~# nmap -Pn -p 22,80,443 69.55.54.86 Starting Nmap 7.80 ( [https://nmap.org](https://nmap.org/) ) at 2024-08-10 11:42 UTC Nmap scan report for [wespenreboards.com](https://wespenreboards.com/) (69.55.54.86) Host is up (0.23s latency). PORT STATE SERVICE 22/tcp open ssh 80/tcp closed http 443/tcp closed https Nmap done: 1 IP address (1 host up) scanned in 0.51 seconds

다시 destroy/rebuild web_only를 실행해 보았는데, 갑자기 잘 동작합니다. 오늘早些에 두 번 실행했지만 효과가 없었습니다. 하지만 지금은 잘 작동하니 정말 좋습니다.

감사합니다.
Wes

결국 nmap은 SSH 포트가 열려 있다고 알려주었습니다 — 이미 알고 있던 내용이죠. 하지만 80번과 443번 포트는 닫혀 있었습니다. 그래서 아무도 접속할 수 없었습니다.

왜 그런 일이 일어났는지는… 전혀 모르겠습니다.

해킹당한 거라고 생각하세요? 이 경우 이론적으로 그런 일이 가능하다는 뜻이에요.

이론적으로는 모든 것이 가능하지만… 아니에요. 드롭릿에 문제가 생겨서 방화벽이 다운된 겁니다. 제이가 그런 걸 생각하고 드롭릿 재시작을 제안한 걸 수도 있고요. 아니면 부트스트래핑에 실패한 건지, 하지만 그렇게 되면 포트가 어떻게 닫히는지 저는 모르겠어요.

Jakke, 고마워. 아무튼 이제 잘 돌아가고 있으니, 그게 가장 중요하지. :slightly_smiling_face: