Turn 서버의 TLS 인증서를 설치하고 아래의 명령어를 실행하여, 온라인에서 검색해보니 사진과 같은 오류 메시지가 나오긴 했지만 해결이 되지 않았습니다.
sudo certbot certonly --standalone --preferred-challenges http --deploy-hook "systemctl restart coturn" -d mydomain.com
certbot 서비스가 엔드포인트에 액세스하려고 시도하는 것을 보는데 왜 갑자기 거기에 있습니까? 나는 무엇을 해야 합니까?
운영 체제: Ubuntu 18.04(가상 머신)
답변1
인증서를 요청하는 도메인을 실제로 제어하는지 확인하기 위해 Let's Encrypt는 HTTP 기반 챌린지 메커니즘을 사용합니다. 기본적으로 Let's Encrypt에는 긴 무작위 문자열이 제공되며 certbot
챌린지 프로세스 중에 certbot
임시로 웹 서버 역할을 하여 Let's Encrypt의 확인 서버가 즉시 연결을 시도하고 지정된 위치에서 정확히 동일한 챌린지를 사용할 수 있는지 확인할 수 있습니다. 호스트 이름. 포트 80의 HTTP 서버에서 검색됩니다.
이러한 오류 메시지는 Let's Encrypt 인증 서버가 certbot
HTTP를 통해 인증 확인 문자열을 검색하려고 시도할 때 수신됩니다. 인증서를 요청한 호스트 이름에 대해 포트 80에서 실행 중인 웹 서버가 있는 것으로 보이며, Let's Encrypt가 해당 호스트에서 챌린지 URI에 대한 HTTP 요청을 보내면 404 오류로 응답합니다.
그렇게 하는 경우 sudo certbot certonly --standalone
해당 서버에서 포트 80을 사용하는 모든 항목을 먼저 중지해야 해당 certbot
서버가 챌린지에 응답하여 임시 HTTP 서버를 시작할 수 있습니다.
그렇게 할 수 없는 경우 서버 포트 80에서 URI에 대한 수신 요청을 sudo certbot certonly --webroot
허용하도록 기존 HTTP 서버를 사용 및 구성한 /.well-known/acme-challenge
다음 수동으로 챌린지를 여기에 넣을 수 있습니다(또는 certbot
다음 디렉터리에 넣도록 구성할 수 있습니다). ) )을 지정하면 이 URI에 매핑됩니다 --webroot-path /root/of/your/HTTP/namespace
.