設定方法/SSL

設定方法

SSL機能

Magic3で運営するサイトは、SSL通信を使ってサーバとWebブラウザ間で通信を暗号化することができます。
Magic3はSSLをサイト全体(常時SSL)でもページ指定で部分的でもかけることができます。

共有SSL

SSLをかけるページとSSLをかけないページを別ドメインにして運用することも可能です。
レンタルサーバ等を使ってSSLをかけない通常のページは独自ドメインを設定し、SSLが必要なページのみ共通利用のSSL用ドメインで運用する場合です。
制限事項として、ドキュメントルートからのMagic3への相対パスはドメインが異なっても同じである必要があります。

ドメイン設定例

(OK) 独自ドメイン: http://www.example.com/
     SSLドメイン: https://ssl_domain.com/
(OK) 独自ドメイン: http://www.example.com/sample/
     SSLドメイン: https://ssl_domain.com/sample/
(OK) 独自ドメイン: http://www.example.com/
     SSLドメイン(サブドメイン形式): https://xxxxx.ssl_domain.com/
(NG) 独自ドメイン: http://www.example.com/
     SSLドメイン: https://ssl_domain.com/xxxxx/

別ドメインの問題点

Webの仕組みによって、ドメインが異なる場合はセッションは別管理になります。
したがってドメイン間を移動する画面遷移が行われた場合は、ログイン状態が維持できません。
管理機能をフルに使う場合は、2つのドメインそれぞれにログインする必要があるので使い勝手が悪くなります。

SSLの設定

Magic3でSSL機能を使用する場合の設定方法です。
SSL機能を使用するには、Webサーバ(NginxやApache等)がSSL運用していることが必要です。まずはWebサーバの設定を行ってWebサイトがSSLでアクセス可能な状態にします。

サイトに常時SSLでSSLをかける場合は、インストール実行時に入力するルートのURLを「https://~」に設定します。
部分的にSSLをかける場合は、インストール時のルートURLを「http://~」に設定します。
部分的にSSLをかける場合、「管理画面」「フロント画面」それぞれ別々にSSL通信のオンオフを設定します。管理機能の「システム情報ーシステム基本設定」で設定します。

  • 管理画面
    オンオフが管理画面全体に対しての制御になります。
  • フロント画面
    SSLをオンにした場合は、さらにページ単位でのオンオフが制御できます。
    「システムマスター管理」の「ページ情報」で各ページに対して設定します。

config_system1.jpg

 

共有SSLの設定

インストール時にSSLなしのURL「http://~」でサイトを作成します。
「フロント画面にSSLを使用」にチェックを入れます。さらに「共有SSLのルートURL」にURLを設定し、SSL用のURLを設定します。この状態ではフロント画面でSSLを使用するページとSSLを使用しないページの両方が利用できます。
さらに管理画面にSSLを掛けるには「管理画面にSSLを使用」にチェックを入れます。

常時SSLの設定

インストール時にSSLありのURL「https://~」でサイトを作成します。
(注意) 「フロント画面にSSLを使用」「管理画面にSSLを使用」にはチェックを入れないでください。

設定値の変更

  • インストール時に入力したURLの値は、include/siteDef.phpの「M3_SYSTEM_ROOT_URL」に保存されています。この値を直接変更することによってURLの変更が可能です。

その他の設定

リダイレクトによるアクセスURLの修正

間違ってアクセスされたURLをリダイレクトで修正する場合は、Webサーバの設定でリダイレクトします。

(Nginx設定例)
正式なURLが「https://example.com/」で「https://●●●.example.com/」や「http://●●●.example.com/」、 「http://example.com/」を「https://example.com/」へリダイレクトする場合

server {
    listen      80;
    listen      443;
    server_name *.example.com;
    return 301  https://example.com$request_uri;
}
server {
    listen      80;
    server_name example.com;
    return 301  https://example.com$request_uri;
}

2019-12-16 (月) 09:28:48 (1555d)