過去に書いたことあるけど,ちょっと愚痴.
この日記の記事を読んでも何の解決方法も書いていないので,解決方法を求めて読んでいる人はスルーした方が良いかと思います....
さくらインターネットのレンタルサーバーの ssl 仕様,もうちょっと何とかならいのか....
手元の環境で動作してても,さくらインターネットのレンタルサーバーが独自仕様なので持っていくと動作しない.
悩めること数日.いまだ解決せず.
多分,さくらインターネットに質問してもあなたのプログラムが悪いのでウチに合わせて修正して下さいって言われるのが落ちなのでサポートには連絡していません.
過去に,無理矢理
if (isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])) {
$_SERVER['HTTPS'] = 'on';
$_ENV['HTTPS'] = 'on';
}
を追加したら通るようになってたけど,プログラム変更したらダメになったんだよな.
すべての接続を https にしたかったので,http で接続したら https にリダイレクトする
if (is_null(env('HTTP_X_SAKURA_FORWARDED_FOR'))) {
$this->redirect('https://'.env('SERVER_NAME').$this->request->here);
}
な記述を入れて,上記変数を追加する記述を追加してなんとか動作していたんだけど,プログラム入れ替えでおかしくなってしまいました
さくらインターネット上で実行すると https 接続中にふと http にとばされることがあって,で,http にリダイレクトされたからプログラム中で https に戻そうとするんだけど,また別のページに移動すると再び http に飛ばされることがある.
うーむ.
上記の修正だけじゃダメなのか?
訳変わらない状態....
手元の Debian + Apache + MySQL の普通の環境だと何の問題も無くって,http に勝手に飛ばされることもないんだけどなぁ.
使うレンタルサーバーを変更しようかなとまで考える今日この頃.さくらインターネットの独自仕様で悩まされることが多いので....
自分でサーバー立てるとか,レンタルサーバーじゃなくて VPS とかクラウドても良いんだけど,あんまり自分で OS の面倒とかいろんな面倒はみたくないのでとりあえずレンタルサーバーに置いてるんだけど....