2026年5月30日
2026年5月30日
NginxでHTTP→HTTPSリダイレクトを適切に行う方法
ステップ1: Nginxの基本設定ファイルを開く
まず、Nginxの主な設定ファイル/etc/nginx/nginx.confまたはドメインごとの設定ファイル(通常は/etc/nginx/sites-available/<ドメイン名>)を編集します。
# /etc/nginx/sites-available/<ドメイン名> または /etc/nginx/nginx.conf ファイルを開く
sudo nano /etc/nginx/sites-available/<ドメイン名>
ステップ2: HTTPリクエストをHTTPSにリダイレクトするルール追加
server { ... }ブロック内に以下のように設定を追加します。これはすべてのHTTPリクエストを同等のHTTPSリクエストにリダイレクトします。
# HTTPSリダイレクトの設定
server {
listen 80;
server_name example.com www.example.com;
# HTTPリクエストをHTTPSにリダイレクトするルール追加
location / {
return 301 https://$host$request_uri;
}
}
ステップ3: 設定ファイルの保存とNginxの再読み込み
設定が完了したら、Nginxを再読み込みして新しい設定を適用します。
# Nginxの設定を読み込む
sudo nginx -t
# 修正された設定を使用するためには以下コマンドで再起動します
sudo systemctl reload nginx
ステップ4: ネットワーク接続とHTTPSリダイレクトの確認
最終ステップとして、ブラウザからサイトにアクセスし、HTTP接続がHTTPSに自動的にリダイレクトされることを確認します。
# ブラウザで http://example.com にアクセスして確認
注意事項
- SSL証明書の有効性: HTTPSへの移行はSSL証明書が必要です。期限切れや誤認証明書が発生すると、サイト訪問者が警告メッセージを受け取ります。
- DNSとCNAME設定: 既存のHTTPリダイレクトをHTTPSに更新する前に、ドメイン名解決システム(DNS)とCNAME設定が正しく設定されていることを確認してください。
- パフォーマンス: HTTPS接続は一部のネットワーク環境や古いクライアントで遅い場合があります。必要であれば、キャッシュ戦略を適用したり、HTTP/2を有効化して改善することができます。
まとめ
1. リダイレクトの基本設定: Nginxの主な設定ファイルまたはドメインごとの設定ファイルを開き、リダイレクトルールを追加します。
2. HTTPSに移行する: リダイレクトルールを使用してすべてのHTTP接続をHTTPSに変換します。
3. 再読み込みと確認: Nginxの設定を再読み込んでもらってから、サイトをブラウザで確認します。
関連記事: