🍪

Laravel を php-fpm + nginx で立ち上げたらクッキーが使えなかった問題

2023/04/10に公開

確認したこと

  • サイト自体は表示される
  • Cookie や Session を使わなければ特に問題はない
  • フォーム送信などを行うと 419 エラーになる
  • @csrf はちゃんと書いてある
  • Apache を使ったサーバだと問題ない
  • Homestead でも問題ない
  • ちょっと前まではちゃんと動作していた
  • Laravel のリクエスト送信のタイミングで set-cookie のヘッダは付与されている

結論

config 系ファイルの先頭に空行が入っていた
たったそれだけ。
削除したら治った。

空行で死ぬ

なぜだろう?

おそらく nginx がレスポンスを受け取った時、configに紛れ込んだ空行により、そこでヘッダが終了したと認識されてしまってるのではなかろうか。

Discussion