site_urlに於けるHTTPS判定について

質問全般・改善要望
返信する
shobu
メンバー
メンバー
記事: 91
登録日時: 2011年5月26日(木) 16:54

site_urlに於けるHTTPS判定について

投稿記事 by shobu »

いつもお世話になっております。

前段のリバースプロキシ側でHTTPS処理をする場合、後段のhttpdなどは素のhttp接続でよいのでそうする場合が多いのですが、MODXの[(site_url)]の判定処理をいつも書換えています。
最近のバージョンですと少し位置が変わりましたが、 initialize.inc.php の150行目近辺に is_ssl()という関数があります。

ここで $_SERVER['HTTPS'] を使って判定しているのですが、nginx他でリバースプロキシを行い、接続時にHTTPS Onを送ると HTTP_HTTPS とHTTP_が付くことになります。
よって、 $_SERVER['HTTP_HTTPS'] も判定に加えてもらえると色々と使いやすいです。

if((isset($_SERVER['HTTP_HTTPS']) && strtolower($_SERVER['HTTP_HTTPS']) == 'on') || (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port)

nginxなどと組み合わさるケースが多くなったためか、他のCMSでも似たような要望と改善がされているみたいです。。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: site_urlに於けるHTTPS判定について

投稿記事 by yama »

initialize.inc.zip
(2.35 KiB) ダウンロード数: 781 回
あまりきれいな解決方法ではないかもしれませんが、$_SERVER['https']を上書きするアプローチを行なってみました。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: site_urlに於けるHTTPS判定について

投稿記事 by yama »

shobu
メンバー
メンバー
記事: 91
登録日時: 2011年5月26日(木) 16:54

Re: site_urlに於けるHTTPS判定について

投稿記事 by shobu »

ありがとうございました。

毎度忘れて悩むので、いつか新しいバージョン使うときが来たときには助かります。
返信する