도메인 이름을 구매하지 않고 apache2에서 HTTPS 설정

도메인 이름을 구매하지 않고 apache2에서 HTTPS 설정

Debian 9 Stretch에서 apache2를 사용하여 사이트(2개의 가상 호스트, 동일한 도메인에 다른 사이트가 있음)를 성공적으로 만들었습니다(Raspian은 라즈베리이므로).

이 경로에 저장되어 있습니다: /var/www/html/www.mysite.ddns.net/www/. 다음 링크를 따라 액세스할 수 있습니다.mysite.ddns.net

이제 https 연결을 설정하고 싶기 때문에 다음을 사용하여 Let's encrypt를 사용해 보았습니다.인증서봇

불행히도 명령을 실행하면 sudo certbot --apache다음 오류가 발생합니다.

Obtaining a new certificate
Performing the following challenges:
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.

문제는 어디에 있습니까?

답변1

certbot --apache사이트의 URL이 Apache에서 사용 중인 루트 디렉토리와 정확히 일치하지 않기 때문에 자동화 모드가 작동하지 않을 수 있습니다.

한 가지 옵션은 인증서에 사용될 도메인 이름과 웹 서버의 루트 디렉터리를 수동으로 지정하는 것입니다.

certbot certonly --webroot -w /var/www/html/www.mysite.ddns.net/www/ -d mysite.ddns.net

이 명령은 /var/www/html/www.mysite.ddns.net/www/웹 서버의 루트 디렉터리로 사용됩니다. Certbot은 임시 파일(도메인 이름에 고유함)을 해당 이름의 디렉터리에 배치한 .well_known다음 에서 해당 파일을 읽으려고 시도합니다 http://mysite.ddns.net/.well_known. 이러한 파일을 찾으면 인증서가 부여됩니다.

인증서 파일은 에 배치됩니다 /etc/letsencrypt/live/mysite.ddns.net/.

이러한 인증서를 사용하도록 Apache를 구성하려면 다음을 사용하여 해당 인증서를 Apache 사이트 구성에 추가하면 됩니다.

SSLEngine on
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.ddns.net/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mysite.ddns.net/fullchain.pem

a2enmod sslApache용 SSL 모듈이 활성화되어 있는지 확인하기 위해 실행도 확인하세요 .

또한 살펴볼 Certbot 예제가 더 있습니다.사용자 설명서.

관련 정보