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

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

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

注意

設定後にブラウザのキャッシュを消去してテストすることをお勧めします。ジャンプ状態の検証には Racent SSL検証ツール のご利用をお勧めします

Nginx​

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

  1. Nginxのリダイレクト機能を使用し、HTTPの server に return 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証明書をインストールするチュートリアルをご覧ください。