メインコンテンツまでスキップ

SSL証明書をインストールしたウェブサイトでHTTPからHTTPSへのリダイレクトを実現するには?

SSL証明書のデプロイが完了したら、サーバーに301強制リダイレクトルールを設定し、サイト全体のHTTPS暗号化アクセスを実現する必要があります。各サーバーでの具体的な操作方法は以下の通りです:

注意

設定後はブラウザのキャッシュをクリアしてテストしてください。Racent SSL検証ツールでリダイレクト状態を確認することを推奨します

Nginx

HTTPリクエストを自動的に HTTPS にリダイレクトしたい場合は、以下の手順で設定できます:

  1. Nginxのリダイレクト機能を使用し、HTTPの serverreturn 301 https://$host$request_uri; を追加すると、HTTP へのリクエストを HTTPS にリダイレクトできます。以下の内容を修正してください:

    server {
    listen 80;
    #httpのドメインへのリクエストをhttpsに転送
    return 301 https://$host$request_uri;
    }

  2. Nginxサーバーを再起動すると、ドメインでのアクセスが可能になり、HTTP から HTTPS への自動リダイレクトが実現します。

ヒント

SSL証明書の完全なインストール手順については、NginxサーバーへのsslTrus SSL証明書インストールチュートリアルをご参照ください。


Tomcat

HTTPリクエストをHTTPSに自動的にリダイレクトしたい場合は、以下の手順で設定できます:

  1. /usr/tomcat9.0.13/conf ディレクトリ配下の web.xml ファイルを編集し、</welcome-file-list> タグを見つけます。

  2. 終了タグ </welcome-file-list> の後で改行し、以下の内容を追加してください。

    <login-config>  
    <!-- Authorization setting for SSL -->
    <auth-method>CLIENT-CERT</auth-method>
    <realm-name>Client Cert Users-only Area</realm-name>
    </login-config>
    <security-constraint>
    <!-- Authorization setting for SSL -->
    <web-resource-collection >
    <web-resource-name >SSL</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
  3. /usr/tomcat9.0.13/conf ディレクトリ配下の server.xml ファイルを編集し、redirectPort パラメータをSSLの connector ポート、つまり443番ポートに変更します。以下に例を示します:

    <Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="443" />
  4. 設定ファイルを保存し、bin ディレクトリで以下のコマンドを実行して、設定が正しいかどうかを確認します。

    ./configtest.sh
  5. 設定に問題がなければ、Tomcatサーバーを再起動するとドメイン名でアクセスできるようになり、HTTPからHTTPSへの自動リダイレクトが実現されます。

    ./shutdown.sh  #Tomcatサーバーを停止する
    ./startup.sh #Tomcatサーバーを起動する
ヒント

SSL証明書の完全なインストール手順については、TomcatサーバーへのsslTrus SSL証明書インストールチュートリアル を参照してください。


IIS

  1. IISサービスマネージャーを開きます。

  2. 「Webサイト」配下の対象サイト名を選択し、ダブルクリックして「URL書き換え」を開きます。以下の図のとおりです:

    注意

    この手順を実行する前に、URL Rewriteモジュール をダウンロードしてインストールしてください。

    IIS

  3. 「URL書き換え」ページに入り、右側の「操作」欄にある ルールの追加 をクリックします。以下の図のとおりです:

    IIS

  4. 表示された「ルールの追加」ウィンドウで、空のルール を選択し、OK をクリックします。以下の画像の通りです:

    IIS

  5. 「受信ルールの編集」ページに進みます。以下の画像の通りです:

    IIS

    • 名前:Http redirect to https と入力します。
    • URLとの一致:「パターン」に手動で (.*) を入力します。
    • 条件:
      • 追加をクリックし、「条件の追加」ウィンドウを表示します。
      • 条件の入力:{HTTPS}
      • 入力文字列の確認方法:デフォルトで「パターンと一致する」を選択します。
      • パターン:手動で ^OFF$ を入力します。
    • 操作:以下のパラメータを入力します。
      • 操作の種類:リダイレクトを選択します。
      • リダイレクトURL:https://{HTTP_HOST}/{R:1}
      • リダイレクトの種類:301リダイレクト。
  6. 右側の「操作」欄にある 適用 をクリックして保存します。

  7. Webサイトのトップページに戻り、右側の「Webサイトの管理」欄にある 再起動 をクリックします。これでHTTPSでアクセスできるようになります。

ヒント

SSL証明書の完全なインストール手順については、IISサーバーへのsslTrus SSL証明書インストールチュートリアル をご確認ください。


Apache

HTTPリクエストをHTTPSに自動的にリダイレクトする必要がある場合は、以下の手順で設定できます:

  1. /etc/httpd/conf ディレクトリ配下にある httpd.conf 設定ファイルを編集します。当該設定ファイル内に LoadModule rewrite_module modules/mod_rewrite.so が存在するか確認してください。 存在する場合は、先頭行のコメント記号(#)を削除してください。存在しない場合は、LoadModule rewrite_module modules/mod_rewrite.so の行を追加してから、設定ファイルを保存してください。

  2. http.confファイルを開き、設定ファイルに以下の内容を追加します:

    <VirtualHost *:80>
    # 新增
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    </VirtualHost>
  3. Apacheサーバーを再起動すると、ドメインでアクセスできるようになり、HTTPからHTTPSへの自動リダイレクトが実現されます。

ヒント

SSL証明書の完全なインストール手順については、ApacheサーバーへのsslTrus SSL証明書インストールチュートリアル を参照してください。


Apache2

HTTPリクエストをHTTPSに自動的にリダイレクトしたい場合は、以下の手順で設定できます:

  1. コマンドラインで a2enmod rewrite を入力し、リダイレクトモジュールを有効化します。

  2. 次に、http設定ファイルを開きます。例:/etc/apache2/sites-available/000-default.conf を開き、設定ファイルに以下の内容を追加します:

    <VirtualHost *:80>
    # 新增
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    </VirtualHost>
  3. Apacheサーバーを再起動すると、ドメインでアクセスできるようになり、HTTPからHTTPSへの自動リダイレクトが実現されます。

ヒント

SSL証明書の完全なインストール手順については、Apache2サーバーへのsslTrus SSL証明書インストールチュートリアル を参照してください。