特定リソースのみSSL接続にしたい(accessBySSLやSSLSwitcherについて)
Posted: 2015年8月23日(日) 15:44
いつもお世話になっております。
件名の通り、特定のリソースのみをSSL接続にしようと試みているのですが、
思うような動作にならず、お力添えいただければと思います。
【 おおまかな環境 】
MODx:1.0.14J-r9
PHP:5.3.29(モジュールモード)
MySQL:5.0.83
・独自ドメイン使用
・SSLも独自ドメインで使用できる(共用ではない)
・フレンドリーURL使用
【 サイトの作り 】
▼base要素使用
<base url="[(site_url)]">をhead要素内に記述
▼CSSと一部のJavascriptをリソースで作成している
Webフォントの指定やリセット系のCSSなど、変更がごくまれにしか起きないCSSは
assetsフォルダに格納していますが、ページ内のスタイルに関するCSSはリソースで作成しています。
Javascriptも同じく、配布されている自作でないjQuery用のプログラム等はassetsに入れていますが、
そのプログラムに対する指定(スライドショーの設定とか)部分は、リソースで作成しています。
▼ヘッダー部に各カテゴリに飛ぶためのグローバルナビゲーションあり
ナビゲーション自体はチャンク化しており、カテゴリへのリンクは<a href="[~ID~]">で指定
【 試したこと 】
1)accessBySSLを導入してみました。
https://github.com/yama/accessBySSL
こちらをダウンロードして、プラグインを作成&必要ファイルをアップロード。
パラメーターに、SSL接続にしたい「お問い合わせ」のリソースIDを入れ、追加する文字列を「https://自分のドメイン」で設定しました。
動作を確認すると、グローバルナビのお問い合わせ部分のURLが「https://~」に書き換わっており、
アクセスも正常にできます。base url も「https://~」になっており、問い合わせの送信も問題なくできました。
問題は、https://~に書き換わった「お問い合わせ」から他のカテゴリにグローバルナビで移動しようとすると、
それらのリンク先も「https://~」になってしまうことです。
https://~になるだけなら実害はありませんが、他のページは base url が http://~のままのため、
相対パスになっているCSSなどが、プロトコルの混在で(?)警告が出てページのデザインを正常に表示できません。
base url が書き換わるのだから当然の動作な気もしますが、https://~に指定していないリソースは、
常にhttp://~でアクセスしたい場合、どのように工夫すればよいでしょうか?
2)MODX_SSLSwitcherを導入してみました。
https://github.com/soushi/MODX_SSLSwitcher
検索でこちらのプラグインも見つけたので試してみました。
こちらだと、HTTPS接続に指定していないリソースに対するリンクは、http://~に置換してくれるとのことで
私の希望通りの動作だったのですが、今度はCSSとJavascriptの一部をリソースで作っていることがあだになってしまって…
グローバルナビのリンクは、お問い合わせのみ https://~、それ以外は http://~でばっちりなんですが、
お問い合わせのページに指定しているCSS等のリソースIDが、http://~に置換されるため、
1と同じくプロトコルが混在となるためか、ページのデザインが正常に表示できずにいます。
例えば、リソースのコンテントタイプが「text/css」や「text/javascript」になっているリソースは
相対パスのまま(base urlに従う)にしておく、といった感じにはできないでしょうか?
使用するのはどちらのプラグインでも良いので、お力を貸していただけたらと思います。
よろしくお願いします。
件名の通り、特定のリソースのみをSSL接続にしようと試みているのですが、
思うような動作にならず、お力添えいただければと思います。
【 おおまかな環境 】
MODx:1.0.14J-r9
PHP:5.3.29(モジュールモード)
MySQL:5.0.83
・独自ドメイン使用
・SSLも独自ドメインで使用できる(共用ではない)
・フレンドリーURL使用
【 サイトの作り 】
▼base要素使用
<base url="[(site_url)]">をhead要素内に記述
▼CSSと一部のJavascriptをリソースで作成している
Webフォントの指定やリセット系のCSSなど、変更がごくまれにしか起きないCSSは
assetsフォルダに格納していますが、ページ内のスタイルに関するCSSはリソースで作成しています。
Javascriptも同じく、配布されている自作でないjQuery用のプログラム等はassetsに入れていますが、
そのプログラムに対する指定(スライドショーの設定とか)部分は、リソースで作成しています。
▼ヘッダー部に各カテゴリに飛ぶためのグローバルナビゲーションあり
ナビゲーション自体はチャンク化しており、カテゴリへのリンクは<a href="[~ID~]">で指定
【 試したこと 】
1)accessBySSLを導入してみました。
https://github.com/yama/accessBySSL
こちらをダウンロードして、プラグインを作成&必要ファイルをアップロード。
パラメーターに、SSL接続にしたい「お問い合わせ」のリソースIDを入れ、追加する文字列を「https://自分のドメイン」で設定しました。
動作を確認すると、グローバルナビのお問い合わせ部分のURLが「https://~」に書き換わっており、
アクセスも正常にできます。base url も「https://~」になっており、問い合わせの送信も問題なくできました。
問題は、https://~に書き換わった「お問い合わせ」から他のカテゴリにグローバルナビで移動しようとすると、
それらのリンク先も「https://~」になってしまうことです。
https://~になるだけなら実害はありませんが、他のページは base url が http://~のままのため、
相対パスになっているCSSなどが、プロトコルの混在で(?)警告が出てページのデザインを正常に表示できません。
base url が書き換わるのだから当然の動作な気もしますが、https://~に指定していないリソースは、
常にhttp://~でアクセスしたい場合、どのように工夫すればよいでしょうか?
2)MODX_SSLSwitcherを導入してみました。
https://github.com/soushi/MODX_SSLSwitcher
検索でこちらのプラグインも見つけたので試してみました。
こちらだと、HTTPS接続に指定していないリソースに対するリンクは、http://~に置換してくれるとのことで
私の希望通りの動作だったのですが、今度はCSSとJavascriptの一部をリソースで作っていることがあだになってしまって…
グローバルナビのリンクは、お問い合わせのみ https://~、それ以外は http://~でばっちりなんですが、
お問い合わせのページに指定しているCSS等のリソースIDが、http://~に置換されるため、
1と同じくプロトコルが混在となるためか、ページのデザインが正常に表示できずにいます。
例えば、リソースのコンテントタイプが「text/css」や「text/javascript」になっているリソースは
相対パスのまま(base urlに従う)にしておく、といった感じにはできないでしょうか?
使用するのはどちらのプラグインでも良いので、お力を貸していただけたらと思います。
よろしくお願いします。