APACHE CERTBOT エラー

APACHE CERTBOT エラー

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

Meta: 書式を修正し、/etc/hosts の構文に実際に必要な部分である # を復元しました。編集ウィンドウの ? アイコンをクリックして、「コード」のヘルプ (および他の部分も) をお読みください。

www.{something}{something}5月同じアドレスとホストにマップします。

ログから、実際に要求している証明書はdigierp.comパブリック DNS で 110.40.197.199 にマップされていることは明らかです。また、www.digierp.comcertbot も、あなたが何となく示している構成を要求するはずでしたが、最初のチャレンジが失敗したため、どうやら試行されなかったようです。

http-01チャレンジを使用してLetsEncryptから証明書を取得するには、パブリックDNSによって決定されたアドレスでパブリックインターネットからサーバーにアクセスできる必要があります。LetsEncryptはローカルにあるものを見ることはできません/etc/hostsし、もし見ることができたとしても信頼しません。なぜなら、LEのようなパブリックCAからの証明書の全体的なポイントは、世界中の他の人々サーバーの ID を信頼できます。

もしこのドメインの DNS はあなたが管理していますが、これはあなたが言っておらず、投稿にも表示されていません。代わりに、dns-01 チャレンジを使用して、ローカル専用サーバーの名前の LE 証明書を取得できます。使用している DNS プロバイダーによっては、プラグインがある場合もあれば、手動で行う必要がある場合もあります。その証明書は、[www.]digierp.com/etc/hosts などを使用して 127.0.0.1 または別のローカル アドレスにローカルにマップするクライアントで使用できます。


LE またはほとんどのパブリック CA から証明書を取得するには、公的に登録されたドメイン名を「管理」する必要があります。実際には、これは料金を支払うか、料金を支払う誰かに証明書を提供してもらうことを意味します。たとえば、学校のスタッフ メンバーであれば、学校のドメインの下にサブドメインが提供される場合があります。いくつかのパブリック CA からは IP アドレスの証明書を取得できますが、取得できるのはパブリックにルーティング可能で静的に割り当てられたアドレスのみであり、ループバック (127.0.0.1 または ::1)、rfc1918、fe80:/16 などのローカル使用を目的としたアドレスは絶対に取得できません。

パブリック CA 以外では、大企業や政府機関などの「ローカル」 CA を運用している組織に所属していない場合は、Falcon が指摘したように単純に自己署名証明書を生成するか、もう少し複雑な、自分専用のプライベート CA (自分だけが信頼し、他の誰も信頼しない) を設定することができます。この件に関するいくつかのスタックにわたる質問へのリンクのリストは、次の URL を参照してください。https://stackoverflow.com/questions/69499225/how-to-solve-the-problem-of-self-signed-ssl-certificates-for-sites-intended-to-b

答え2

Letsencryptから証明書を取得しようとしていますか?参考文献? そんなことはできない。それはあなたのものではない。

いくつか違うことをしているようですね。certbotに証明書を依頼しました。参考文献しかし、あなたの質問の残りの部分はexample.comに関するものです。これらは2つの異なるものであり、wwwはまったく暗示されていません。ただし、両方の証明書を取得することは一般的です。参考文献そしてexample.com、example.comはあなたのドメインです

ドメインは digierp.com でしょうか? 一部の場所では編集しましたが、他の場所では編集していません。

それ以外は、ツールを全体的に正しく使用していると思います。ただし、letsencrypt はローカル ツールではありません。Certbot は、インターネット経由で ACME プロトコルを使用してドメインの制御を確認するように letsencrypt に要求し、証明書を提供します。ループバックのみでサーバーを実行しようとしている場合は、これを使用できません。

letsencrypt を使用するには、サイトを実行しているサーバーを指すように DNS (hosts ファイルではありません) を設定します。ローカル テストを実行する必要がある場合は、他のツールを使用します。自己署名証明書を発行して信頼ストアに追加する人もいます (または TLS 警告を無視します)。

関連情報