ウェブサイト検索

Apache で HTTP を HTTPS にリダイレクトする方法


HTTP (ハイパー テキスト転送プロトコル) は、ワールド ワイド ウェブ (WWW) でのデータ通信の基本プロトコルであるとともに、一般的なプロトコルです。 );通常は、Web ブラウザと Web ファイルを保存するサーバーの間で行われます。一方、HTTPS は HTTP の安全なバージョンであり、末尾の「S」は「安全」を表します。

HTTPS を使用すると、ブラウザと Web サーバー間のすべてのデータが暗号化され、安全になります。このチュートリアルでは、Linux の Apache HTTP サーバーで HTTPHTTPS にリダイレクトする方法を説明します。

ドメインに対して Apache HTTP から HTTPS へのリダイレクトを設定する前に、SSL 証明書がインストールされていることと、mod_rewriteがあることを確認してください。 は Apache で有効になっています。 Apache で SSL をセットアップする方法の詳細については、次のガイドを参照してください。

  1. Apache の自己署名 SSL 証明書とキーを作成する方法
  2. CentOS/RHEL 7 に Let’s Encrypt SSL 証明書をインストールする方法
  3. Debian/Ubuntu に Let's Encrypt SSL 証明書をインストールする方法

.htaccess ファイルを使用して Apache で HTTP を HTTPS にリダイレクトする

この方法では、mod_rewrite が有効になっていることを確認してください。そうでない場合は、Ubuntu/Debian システムでこのように有効にしてください。

sudo a2enmod rewrite	[Ubuntu/Debian]

CentOS/RHEL ユーザーの場合は、httpd.conf に次の行があることを確認してください (mod_rewrite サポート – デフォルトで有効になっています)。

LoadModule rewrite_module modules/mod_rewrite.so

ここで必要なのは、ドメインのルート ディレクトリで .htaccess ファイルを編集または作成し、http を https にリダイレクトする次の行を追加するだけです。

RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 

これで、訪問者が http://www.yourdomain.com と入力すると、サーバーは HTTP を HTTPS https://www.yourdomain.com に自動的にリダイレクトします。

Apache 仮想ホストで HTTP を HTTPS にリダイレクトする

さらに、すべての Web トラフィックにHTTPS の使用を強制するには、仮想ホスト ファイルを構成することもできます。通常、SSL 証明書が有効になっている場合、仮想ホスト構成には 2 つの重要なセクションがあります。最初のポートには、非セキュア ポート 80 の設定が含まれています。

2 番目は安全なポート 443 用です。 Web サイトのすべてのページで HTTP を HTTPS にリダイレクトするには、まず適切な仮想ホスト ファイルを開きます。次に、以下の構成を追加して変更します。

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName www.yourdomain.com
   Redirect / https://www.yourdomain.com
</VirtualHost>

<VirtualHost _default_:443>
   ServerName www.yourdomain.com
   DocumentRoot /usr/local/apache2/htdocs
   SSLEngine On
etc...
</VirtualHost>

ファイルを保存して閉じ、次のように HTTP サーバーを再起動します。

sudo systemctl restart apache2     [Ubuntu/Debian]
sudo systemctl restart httpd	     [RHEL/CentOS]

は、よりシンプルで安全なため、最も推奨されるソリューションです。

Apache HTTP サーバーのセキュリティ強化に関する以下の役立つ記事をお読みください。

  1. Web サイトを保護してカスタマイズするための 25 の Apache '.htaccess' の便利なテクニック
  2. .htaccess ファイルを使用して Apache で Web ディレクトリをパスワード保護する方法
  3. Apache のバージョン番号とその他の機密情報を非表示にする方法
  4. Mod_Security と Mod_evasive を使用して Apache をブルート フォース攻撃または DDoS 攻撃から保護する

それだけです!このガイドに関するご意見を共有するには、以下のフィードバック フォームをご利用ください。また、常に linux-console.net に接続できるようにしてください。