cakePHPでリバースプロキシを使うときにはまったこと

Twitter ツイート Hatena Bookmark ブックマーク

リバースプキシしていると、なぜかcakePHPのSessionが消える現象が起きていました・・・。
もうわけがわからなくなって、$this->Sessionをver_dumpしてみると、なんと「host」のぶぶんに書き換え前のドメインが・・・。

どうやら、原因はこれだったようです。

じゃあHTTP_X_FORWARDED_HOSTがあった場合に、HTTP_HOST上書きすればいいんじゃね?とおもったので、index.phpの先頭に以下のようにしました。

1
2
3
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
		$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
	}

こんなことで1日中悩んでしまった・・・。
てか、これBigislandの管理画面つくってたときにもはまって苦労したところなのに、忘れているとは・・・・。

参考サイト
CakePHPでのリーバスプロキシ導入について教えてください

※検証環境はphp4.3.3(cgi) or PHP 5.1.6 (cli), cakePHP 1.2.6です。

comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。