nginx 및 certbot을 사용하여 내 도메인에 Let's Encrypt SSL 인증서를 적용하는 데 문제가 있습니다. 내 (Nuxtjs) 웹사이트는 Ubuntu 18.04가 설치된 VPS에서 실행되고 있습니다. mydomain.nl 및 stage.mydomain.nl에 인증서를 추가하고 싶지만 추가할 수 없습니다. 나는 이것에 익숙하지 않지만 이전에는 아무런 문제 없이 성공적으로 이 작업을 수행했습니다.
내 말이 맞다면 certbot은 도메인을 확인하기 위해 실행될 때 파일을 배치하려고 시도합니다 sudo certbot --nginx
. 하지만 다음과 같은 오류가 발생합니다.
Failed authorization procedure. mydomain.nl (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://mydomain.nl/.well-known/acme-challenge/PBjT0nQy7m5_bE42I1jr5mMaYxLMma4ONP9FAUgCD3c [2a02:2268:ffff:ffff::4]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p"
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: mydomain.nl
Type: unauthorized
Detail: Invalid response from
http://mydomain.nl/.well-known/acme-challenge/PBjT0nQy7m5_bE42I1jr5mMaYxLMma4ONP9FAUgCD3c
[2a02:2268:ffff:ffff::4]: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD
HTML 2.0//EN\">\n<html><head>\n<title>404 Not
Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p"
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.
또한 구성에 이 블록을 추가해 보았습니다.
location ~ /.well-know/acme-challenge {
allow all;
root /var/www/mydomain.nl/html;
}
하지만 성공하지 못함...
내 도메인에서 웹사이트에 접속할 수 있으므로 DNS가 정확해야 합니다.
요청한 대로 실행하면 ls -ld /var/www/mydomain.nl/html
다음과 같은 결과가 출력됩니다.
drwxrwxr-x 10 kim kim 4096 May 13 20:38 /var/www/mydomain.nl/html
Nginx 사용자는 누구입니까 www-data
?
누구든지 여기에서 올바른 방향을 알려줄 수 있습니까? 어떤 도움이라도 대단히 감사하겠습니다!
미리 감사드립니다!
답변1
이는 Certbot이 웹사이트 도메인이 온라인인지 확인하기 때문에 발생합니다. 404 코드가 포함된 http 응답을 받으면 해당 코드가 존재하는지 확인할 수 없으며 인증서가 생성되지 않습니다.
독립형 모드를 사용해 볼 수 있습니다.
certbot certonly --standalone --preferred-challenges http -d example.com --webroot-path /path/to/root
답변2
내 도메인 이름 등록 기관이 내 도메인 이름에 대해 미리 구성된 AAAA 레코드를 발견했습니다. 이것이 작동하려면 이 기록을 삭제해야 합니다. 당신의 생각에 감사드립니다!