아파치 인증서 오류

아파치 인증서 오류

certbot을 사용하여 로컬 Apache 서버에서 https를 구성하고 있는데 아래 오류가 발생합니다.

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: www.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for digierp.com
Enabled Apache rewrite module
Waiting for verification...
Challenge failed for domain digierp.com
http-01 challenge for digierp.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: www.example.com
   Type:   connection
   Detail: 110.40.19...: Fetching
   http://example.com/.well-known/acme-challenge/X3IbvKI9gbZu1.........:
   Connection refused

   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. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.

이것은 내 /etc/apache2/sites-available/exapmlee.conf 파일입니다.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName examplee
    ServerAlias www.example.com
    DocumentRoot /var/www/examplee
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

example.com을 파헤쳐 보면 다음과 같은 결과가 나옵니다.

;; ANSWER SECTION:
example.com.        0   IN  A   127.0.0.1

/etc/호스트

127.0.0.1       localhost
127.0.1.1       digierp-Joy

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

127.0.0.1       example.com

이 IP 110.40.19를 얻는 시스템은 어디입니까...?

위의 오류에 대한 제안이 있으십니까?

답변1

메타: 형식을 수정하고 실제로 /etc/hosts 구문의 필수 부분인 #을 복원했습니다. ?를 클릭해 주세요. 편집 창에 있는 아이콘을 클릭하고 '코드'에 대한 도움말을 읽어보세요.

비록 그들이 www.{something}동일하지는 않지만{something}5월동일한 주소(들?) 및 호스트(들?)에 매핑됩니다.

digierp.com공용 DNS에서 110.40.197.199로 매핑되는 인증서를 실제로 요청하고 있다는 것이 로그에서 분명하며 www.digierp.com, 어떤 certbot이 여러분이 표시한 구성에 대해 요청해야 했지만 명백히 시도되지 않은 이유도 마찬가지입니다. 첫 번째 도전은 실패했습니다.

http-01 챌린지를 사용하여 LetsEncrypt에서 인증서를 얻으려면 공용 인터넷에서 공용 DNS가 결정한 주소로 서버에 액세스할 수 있어야 합니다. LetsEncrypt는 로컬에 무엇이 있는지 볼 수 없으며 /etc/hosts, LE와 같은 공용 CA의 인증서의 요점은 다음과 같기 때문에 이를 신뢰하지 않을 것입니다.세계 곳곳의 다른 사람들서버의 신원을 신뢰할 수 있습니다.

만약에말하지 않았고 게시물이 표시되지 않는 이 도메인에 대한 DNS를 제어하는 ​​경우 대신 dns-01 챌린지를 사용하여 로컬 전용 서버 이름에 대한 LE 인증서를 얻을 수 있습니다. 사용 중인 DNS 공급자에 따라 플러그인이 있을 수도 있고 수동으로 수행해야 할 수도 있습니다. 그런 다음 해당 인증서는 [www.]digierp.com/etc/hosts 또는 이와 유사한 것을 사용하여 127.0.0.1 또는 다른 로컬 주소에 로컬로 매핑되는 클라이언트와 함께 사용할 수 있습니다 .


LE 또는 대부분의 공개 CA로부터 인증서를 얻으려면 공개적으로 등록된 도메인 이름을 '제어'해야 합니다. 실제로 이것은 비용을 지불하거나 누군가(지불하는 사람)가 귀하에게 그것을 제공하도록 하는 것을 의미합니다. 예를 들어 귀하가 학교의 교직원인 경우 해당 도메인 아래에 하위 도메인을 제공할 수 있습니다. 몇몇 공용 CA에서 IPaddress에 대한 인증서를 얻을 수 있지만 공개적으로 라우팅 가능하고 정적으로 할당된 인증서만 얻을 수 있으며 루프백(127.0.0.1 또는 ::1), rfc1918 또는 fe80과 같은 로컬 사용을 위한 주소는 확실히 아닙니다:/ 16.

공용 CA 외부에서 일부 대기업 및 정부 기관과 같이 '로컬' CA를 운영하는 조직에 속하지 않는 경우 Falcon이 지적한 것처럼 단순히 자체 서명된 인증서를 생성하거나 약간 더 복잡한 자체 인증서를 설정할 수 있습니다. 비공개, 개인 CA(본인만 신뢰하고 다른 사람은 신뢰하지 않음) 여러 스택에 걸쳐 이 주제에 대한 질문에 대한 링크 목록을 다음에서 확인하세요.https://stackoverflow.com/questions/69499225/how-to-solve-the-problem-of-self-signed-ssl-certificates-for-sites-intended-to-b.

답변2

Letsencrypt에서 인증서를 받으려고 하시나요?www.example.com? 당신은 그렇게 할 수 없습니다. 그것은 당신 것이 아닙니다.

나는 당신이 몇 가지 다른 일을 하고 있는 것을 봅니다. certbot에게 인증서를 요청했습니다.www.example.com하지만 나머지 질문은 example.com에 관한 것입니다. 그것은 두 가지 다른 것입니다. www는 전혀 암시되지 않습니다. 하지만 두 가지 모두에 대한 인증서를 받는 것이 일반적입니다.www.example.com그리고 example.com,example.com이 귀하의 도메인인 경우.

귀하의 도메인이 digierp.com일까요? 일부 위치에서는 편집했지만 다른 위치에서는 편집하지 않았습니다.

그 외에는 일반적으로 도구를 올바르게 사용하고 있다고 생각합니다. 그러나 letsencrypt는 로컬 도구가 아닙니다. Certbot은 인터넷을 통해 ACME 프로토콜을 사용하여 도메인 제어를 확인하도록 letsencrypt에 요청한 다음 인증서를 제공합니다. 루프백에서만 서버를 실행하려는 경우에는 사용할 수 없습니다.

letsencrypt를 사용하려면 사이트를 실행 중인 서버를 가리키도록 DNS(호스트 파일 아님)를 설정하세요. 로컬 테스트를 수행해야 하는 경우 다른 도구를 사용하십시오. 어떤 사람들은 자체 서명된 인증서를 발급하고 이를 신뢰 저장소에 추가합니다(또는 TLS 경고를 무시합니다).

관련 정보