すべてのスタートガイド はじめに

HTTP-01チャレンジ:仕組みと完了方法

HTTP-01はSSL証明書取得のための最も一般的なACMEチャレンジタイプです。CAがHTTPポート80でWebサーバーから特定のファイルを取得することで、ドメインの管理を検証します。DNS-01よりシンプルですが、ワイルドカード証明書には使用できません。

仕組み

  1. Let’s Encryptトークン(ランダムな文字列)を提供
  2. http://yourdomain.com/.well-known/acme-challenge/{token} にファイルを作成
  3. ファイルの内容はキー認証 — トークンとACMEアカウントキーのサムプリントの組み合わせ
  4. Let’s Encryptが公開インターネットからこのURLを取得
  5. 内容が一致すれば、チャレンジに合格し証明書が発行

GetHTTPSでは、ステップ1と3は自動的に処理されます。画面に表示された値でサーバーにファイルを配置するだけです。

チャレンジファイルの配置方法

SSH経由(Linux/Nginx/Apache)

mkdir -p /var/www/html/.well-known/acme-challenge/
echo "KEY_AUTHORIZATION_FROM_GETHTTPS" > /var/www/html/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS
curl http://yourdomain.com/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS

cPanelファイルマネージャー経由

  1. public_html に移動
  2. .well-known フォルダを作成 → その中に acme-challenge フォルダを作成
  3. トークン値をファイル名として新しいファイルを作成
  4. キー認証をファイル内容として貼り付け
  5. パーミッションが644であることを確認

FTP経由

  1. サイトルートに接続
  2. .well-known/acme-challenge/ ディレクトリパスを作成
  3. トークン名のテキストファイルにキー認証を含めてアップロード

要件

  • ドメインがサーバーのパブリックIPアドレスに解決される必要がある
  • ポート80が開いている必要 — Let’s Encryptは常にHTTPで検証(HTTPSではない)
  • レスポンスがHTTP 200 OKを返す必要がある
  • 認証なしでファイルにアクセスできる必要がある

HTTP-01を使うべき場合

シナリオHTTP-01?
単一ドメイン証明書✅ はい — 最もシンプル
ドメイン + www証明書✅ はい — 名前ごとに1つのチャレンジ
ワイルドカード証明書(*.example.com❌ いいえ — DNS-01を使用
ポート80がブロック❌ いいえ — DNS-01を使用
Cloudflareプロキシの背後⚠️ まずDNSをグレークラウドにする必要あり

トラブルシューティング

チャレンジファイルが404を返す

  • 正確なパスを確認/.well-known/acme-challenge/TOKEN で余分なスラッシュがないこと
  • ファイルパーミッションを確認 — chmod 644
  • Nginx: 設定がドットファイルをブロックしている可能性。location /.well-known/acme-challenge/ { root /var/www/html; allow all; } を追加
  • cPanel: ファイルマネージャーが .well-known を隠している場合あり — 「隠しファイルを表示」を有効に

ポート80がブロック

  1. ポート80を開く(検証中だけでも一時的に)
  2. DNS-01チャレンジに切り替え — ポート80不要
  3. ホスティングプロバイダーに .well-known をプロキシ経由で許可するよう依頼

よくある質問

証明書取得後にチャレンジファイルを削除できますか?

はい。ファイルは検証中にのみ必要です。証明書が発行されたら、.well-known/acme-challenge/ ディレクトリとその内容を削除してください。更新時に新しいファイルを作成します。

ファイルはHTTPS経由で提供する必要がありますか?

いいえ。Let’s EncryptはHTTP-01を常に**平文HTTP(ポート80)**で検証します。サイトがHTTPSに対応していてもです。同一ドメインのHTTP→HTTPSリダイレクトはフォローされますが、最初のリクエストは常にHTTPです。

GetHTTPSの「事前チェック」とは何ですか?

Let’s Encryptに送信する前に、GetHTTPSはチャレンジファイルが公開インターネットからアクセス可能であることを確認します(GoogleのDNS-over-HTTPS経由)。これにより、レート制限を消費する前に設定エラーを検出できます — 他のブラウザベースツールにはない機能です。

関連記事

はじめに 2026-05-08
無料SSL証明書の取得方法(ステップバイステップガイド)
Let's Encryptから5分で無料のSSL証明書を取得。ソフトウェアのインストール不要、アカウント作成不要。4つの方法、両方のチャレンジタイプ、6つのプラットフォームへのインストール、トラブルシューティングを網羅した完全ガイドです。
はじめに 2026-05-08
DNS-01チャレンジ:仕組みと完了方法
DNS-01検証はDNSにTXTレコードを追加してドメインの所有権を証明します。ワイルドカード証明書に必須です。Cloudflare、Route 53、GoDaddy、Namecheapなどでの設定方法を解説します。
はじめに 2026-05-07
無料ワイルドカードSSL証明書の取得方法
GetHTTPSを使用してLet's Encryptから無料のワイルドカードSSL証明書(*.example.com)を取得。DNS-01チャレンジのみ必要。Cloudflare、Route 53、GoDaddy、NamecheapでのDNS設定方法を解説します。
ブラウザで無料 SSL 証明書を取得
インストール不要、アカウント不要。秘密鍵は常にデバイスに残ります。
証明書を取得