안녕하세요;
Digital Ocean에서 VPS를 구매하여 Discourse 드롭렛의 원클릭 설치를 사용했습니다.
도메인 이름 등을 입력하고 표준 설정을 마친 후, VPS IP 주소에 접속할 때마다 (Discourse가 VPS IP로 지정한 메인 도메인에 설치되어 있음) 다음과 같은 메시지가 계속 표시됩니다:
This site can’t be reached
(MY-VPS-IP) refused to connect.
Try:
Checking the connection
[Checking the proxy and the firewall]
ERR_CONNECTION_REFUSED
HTTP 및 HTTPS 포트를 열었고, sudo ufw status 명령을 실행했을 때 포트가 열려 있는 것으로 표시됩니다.
브라우저 로컬 문제일 수 있으므로 캐시를 삭제해 보았지만 여전히 문제가 해결되지 않습니다.
제안이나 도움이 있을까요? 아이디어가 있거나 추가 정보가 필요하시면 아래에 자유롭게 게시해 주세요.
pfaffman
(Jay Pfaffman)
2월 17, 2021, 1:37오후
2
Discourse 공식 표준 설치 를 사용해야 합니다.
Discourse는 호스트명이 필요합니다. IP 주소만으로는 실행할 수 없습니다.
Cloudflare 같은 리버스 프록시가 설정되어 있지 않은지 확인하세요.
도메인 이름을 설정하고 IP를 올바르게 지정했지만, 여전히 연결이 거부됩니다. 24시간 이상 기다려도 마찬가지입니다.
업데이트:
포트가 정상적으로 작동하는지 확인하기 위해 apache2를 설치하고 포트를 개방했습니다.
Apache2는 IP 주소로 접근했을 때 정상적으로 표시되었지만, apache2를 제거하자마자 원래 문제가 다시 발생했습니다.
이 문제는 docker와 포트 관련 문제라고 생각하지만, 어떻게 수정해야 할지 모르겠습니다.
도움이 될 만한 아이디어가 있으신가요?
참고로, Discourse를 DigitalOcean 마켓플레이스에서 설치했기 때문에 DigitalOcean에도 문의했습니다.
Falco
(Falco)
2월 17, 2021, 5:23오후
5
방금 시도해 봤는데 문제가 여전히 동일합니다.
연결이 거부되었습니다.
Droplet IP: 104.248.170.134 (도메인 robloxfrance.com이 이 IP를 가리키도록 설정되어 있습니다. 하지만 도메인의 DNS 기록을 이 IP로 변경한 것은 최근입니다.)
Docker ps 출력:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0296e70dba0b local_discourse/app “/sbin/boot” 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Falco
(Falco)
2월 17, 2021, 6:07오후
9
설치를 실행한 후에야 DNS를 지정했다면, 인증서 발급 단계에서 실패하고 nginx가 시작되지 않는 문제가 발생할 수 있습니다.
./launcher rebuild app을 시도해 볼 수 있을까요?
./launcher rebuild app 명령어를 방금 시도해 봤습니다.
여전히 작동하지 않습니다.
Falco
(Falco)
2월 17, 2021, 6:18오후
11
curl -v localhost의 출력은 무엇입니까?
Falco:
curl -v localhost
* 127.0.0.1:80 연결 시도 중...
* TCP_NODELAY 설정됨
* localhost(127.0.0.1) 포트 80에 연결됨 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.68.0
> Accept: */*
>
* 수신 실패: 연결이 상대방에 의해 재설정됨
* 연결 0 닫힘
curl: (56) 수신 실패: 연결이 상대방에 의해 재설정됨
업데이트:
우리는 다음 명령어를 시도했습니다: sudo systemctl restart docker.service
웹 페이지를 새로고침했을 때(nginx 웹 서버를 시작했을 때) 잠깐 동안 작동했지만, 다시 새로고침하자 연결 거부 오류가 다시 발생했습니다.
또한 다음 명령어도 실행했습니다: docker run -it --rm hello-world
이 명령어는 오류 없이 정상적으로 실행되었습니다.
현재로서는 도커 문제보다는 디스커스(Discourse) 문제일 것으로 추정하고 있습니다.
도움 주시면 감사하겠습니다.
방금 docker log 명령어인 ./launcher logs app를 실행했습니다.
그 결과 다음과 같은 내용을 확인했습니다:
도움을 주실 수 있다면 감사하겠습니다.
Falco
(Falco)
2월 17, 2021, 7:27오후
15
이번 주에 해당 도메인에 대해 너무 많은 인증서를 주문하신 것으로 보입니다. 주당 5개까지만 발급할 수 있으므로, 이제 일주일 동안 기다려야 합니다.
현재 SSL 주석을 처리하고 다시 빌드하여 더 잘 작동하는지 확인하고 있습니다.
현재 VPS의 discourse 설치를 다시 설정하고 있으며, lets encrypt 이메일을 사용하지 않도록 변경했습니다.
업데이트:
업데이트:
설치를 다시 구성하고 정상적인 설치 과정을 거쳤으며, lets encrypt 이메일을 입력하지 않았습니다. 그런데 이제 처음과 동일한 상황, 즉 연결을 거부하는 문제로 돌아갔습니다.
pfaffman
(Jay Pfaffman)
2월 19, 2021, 6:25오후
18
Let’s Encrypt의 속도 제한(rate limit)에 도달한 것 같습니다. Let’s Encrypt를 사용하지 않도록 설정하는 방법을 파악하기가 쉽지 않으므로, 여전히 인증서를 요청하고 있을 가능성이 높습니다(다만, 이제 인증서가 만료될 예정이면 이메일로 경고를 받지 못할 것입니다). 제 말이 맞다면 다음을 수행할 수 있습니다.
다음 주까지 기다리기 (조급하지 않다면 쉬운 방법)
다른 도메인 이름 사용 (이름을 정말로 좋아하거나 DNS 설정에 익숙하지 않다면 제외)
여러 도메인으로 Let’s Encrypt 설정하기 가이드를 따르기 (초보자에게는 다소 까다로움)
여러 도메인 설정과 관련하여 도움을 받을 사람을 고용하거나, 다른 문제가 있는지를 찾아보기