常時SSL化の設定手順を教えて下さい

公開日 2019年02月22日

更新日 2021年02月25日

Joruri CMS v3系を想定しています。

**********************************************************************
 1 想定環境
**********************************************************************

[システム]
OS           : 7 (x86_64)
Webサーバー  : Apache 2.4
APサーバー   : Phusion Passenger 5.0
DBサーバー   : MySQL 5.6
Ruby         : 2.3
Rails        : 4.2

[設定]
ドメイン   : joruri.example.com

**********************************************************************
 2 作業ユーザーの変更
**********************************************************************

rootユーザーに変更します。

  $ su -

**********************************************************************
 3 事前準備
**********************************************************************
必要なパッケージをインストールします。

  # yum install mod_ssl

※セキュリティ設定は環境に応じて適切に設定してください。

リダイレクト設定
バーチャルホスト設定にRewriteRuleを追記します。

  # vi /var/share/joruri/config/hosts/joruri.conf
    ~省略~
    RewriteEngine on                                              # 追記
    RewriteCond %{HTTPS} off                                 #追加
    RewriteRule ^/(.*)?$ https://%{HTTP_HOST}/$1 [R=301,L]        # 追記

    Include /var/share/joruri/config/rewrite/base.conf
    Include /var/share/joruri/config/rewrite/00000001.conf
    ~省略~


HTTPS設定
https用のバーチャルホストを追記します。
記述はhttp用と同じですが、httpsを使用するので使用ポートの変更とSSLの設定を追記します。

  # vi /var/share/joruri/config/hosts/joruri.conf
    <VirtualHost *:443>
        ServerName xxxx.xxxx.xxxx
        DocumentRoot /var/share/joruri/public_00000001
        Alias /_common/ "/var/share/joruri/public/_common/"
        RailsEnv production
        
        Include /var/share/joruri/config/rewrite/base.conf
        Include /var/share/joruri/config/rewrite/00000001.conf
        setenv LANG ja_JP.UTF-8
        
        PassengerRuby /usr/local/rbenv/versions/2.3.1/bin/ruby
        
        SSLEngine on
        SSLCertificateFile      /path/to/signed_certificate_followed_by_intermediate_certs
        SSLCertificateKeyFile   /path/to/private/key

    </VirtualHost>

※証明書の設定は環境に応じて適切に設定してください。

CMSの管理画面で「サイト>ドメイン」からサイトURLをhttpsに変更してください。


**********************************************************************
 4 Apache/MySQL の起動
**********************************************************************

  # /sbin/service httpd  configtest
  # systemctl restart httpd.service

Topへ