答え1
証明書を要求するドメインを実際に制御していることを確認するために、Let's EncryptはHTTPベースのチャレンジメカニズムを使用します。デフォルトでは、Let's Encryptは長いランダムな文字列を提供し、certbot
チャレンジプロセス中にcertbot
一時的にWebサーバーとして機能し、Let's Encryptの検証サーバーがすぐに接続を試み、指定された場所でまったく同じチャレンジを使用できることを確認できます。ホスト名。ポート80のHTTPサーバーから取得されます。
これらのエラーメッセージは、Let's Encrypt認証サーバーがcertbot
HTTPを介して認証確認文字列を取得しようとしたときに受信されます。証明書を要求したホスト名に対してポート80で実行されているWebサーバーがあるように見え、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
。