HTTPS未対応のサイトはブラウザに「保護されていない通信」と表示され、検索順位でも不利になります。朗報:Let's Encryptは完全無料のSSL証明書を提供しており、数分でHTTPS化できます。本ガイドはNginx + Certbotを使います。
1. HTTPSが必須の理由
- ブラウザはHTTPサイトに「保護されていません」と表示し、訪問者が離脱します。
- GoogleはHTTPSを明確にランキングシグナルとしており、非暗号化サイトは不利です。
- HTTPSなしでは決済やログインのデータが漏洩します。
2. 前提条件
- パブリックIPを持ちNginxがインストール済みのVPS。
- AレコードがすでにVPSのIPを指しているドメイン(発行時にドメイン所有権を検証します)。
- ファイアウォールで80番と443番ポートを開放。
3. Certbotのインストールと証明書発行
Ubuntuの場合:
- インストール:apt install certbot python3-certbot-nginx
- 発行とNginx自動設定:certbot --nginx -d example.com -d www.example.com
- プロンプトに従ってメールアドレスを入力・規約に同意し、HTTPからHTTPSへの自動リダイレクトを選択(推奨)。
4. 自動更新
Let's Encrypt証明書の有効期間は90日ですが、Certbotが自動更新のタイマーを設定します。certbot renew --dry-runで確認し、エラーがなければ更新は正常で、以後手動管理は不要です。
5. よくある問題
- 発行に失敗する:ドメインがこのホストを指していないか、80番ポートが使用中/ファイアウォールでブロックされているのが典型です。
- まだ「保護されていません」と表示される:キャッシュをクリアして強制再読み込みし、ページ内にhttp://の画像やスクリプトが残っていないか(混在コンテンツ)確認しましょう。