WebサイトをHTTPSで公開するには、ブラウザが信頼できるTLS証明書が必要です。最近のホスティングサービスでは、独自ドメインを接続すると証明書を自動発行してくれることが多いです。
一言でいうと
HTTPS証明書は、ドメインの管理権限を確認したうえで発行され、ブラウザが通信相手を信頼するために使われます。
登場人物
| 登場人物 | 役割 |
|---|---|
| ドメイン管理者 | DNS設定を変更できる人 |
| ホスティングサービス | Webサイトを配信し、証明書発行を支援する |
| 認証局 | 証明書を発行する組織 |
| ブラウザ | 証明書を検証してHTTPS通信する |
自動発行の流れ
ホスティングサービスにドメインを登録する
-> DNSレコードを指定通りに設定する
-> ホスティングサービスがドメイン所有を確認する
-> 認証局へ証明書発行を依頼する
-> 証明書が発行される
-> HTTPSでアクセスできるようになる
DNS設定が間違っていると、ホスティングサービスはドメイン所有を確認できず、証明書発行に失敗することがあります。
ドメイン検証の方法
証明書発行では、ドメインを管理していることを確認します。
| 方法 | 内容 |
|---|---|
| HTTP-01 | 指定URLへ確認用ファイルを置く |
| DNS-01 | 指定TXTレコードをDNSに追加する |
| TLS-ALPN-01 | TLS接続時に検証する |
ホスティングサービスの自動証明書では、利用者が細かい方式を意識しなくてよい場合もあります。
証明書に含まれる名前
証明書は、対象のホスト名に対して有効です。
| アクセスURL | 証明書に必要な名前 |
|---|---|
https://example.com/ | example.com |
https://www.example.com/ | www.example.com |
https://blog.example.com/ | blog.example.com |
example.com の証明書だけで www.example.com も自動的に有効になるとは限りません。
よくある失敗
| 症状 | よくある原因 |
|---|---|
| 証明書発行待ちが続く | DNSが指定先へ向いていない |
| 証明書名が違う | wwwあり・なしの登録漏れ |
| HTTPは見えるがHTTPSで警告 | 証明書未発行、期限切れ、名前不一致 |
| DNS変更直後に失敗する | キャッシュや反映待ち |
HTTPS証明書の問題では、DNSが正しいか、証明書の対象名がURLと一致しているかを確認します。
更新も必要
証明書には有効期限があります。ホスティングサービスの自動証明書では、期限前に自動更新されることが多いです。
自前サーバーで運用する場合は、Certbotなどで更新の自動化を確認します。
よくある誤解
| 誤解 | 実際 |
|---|---|
| ドメインを買えばHTTPSになる | 証明書発行が必要です |
| DNS設定と同時に必ず即時発行される | 検証や反映待ちがあります |
| 証明書は全サブドメインに効く | ワイルドカード証明書でない限り対象名が必要です |
| HTTPをHTTPSへ転送すれば証明書は不要 | HTTPS接続自体に証明書が必要です |
まとめ
HTTPS証明書は、ドメインの管理権限を確認して発行されます。独自ドメイン公開では、DNSがホスティング先へ正しく向いていること、証明書の対象名がURLと一致していること、自動更新が有効なことを確認します。
参考リソース
- RFC 8555: Automatic Certificate Management Environment
- Let’s Encrypt: How It Works
- MDN: Transport Layer Security