🍪
Laravel を php-fpm + nginx で立ち上げたらクッキーが使えなかった問題
確認したこと
- サイト自体は表示される
- Cookie や Session を使わなければ特に問題はない
- フォーム送信などを行うと 419 エラーになる
-
@csrf
はちゃんと書いてある - Apache を使ったサーバだと問題ない
- Homestead でも問題ない
- ちょっと前まではちゃんと動作していた
- Laravel のリクエスト送信のタイミングで set-cookie のヘッダは付与されている
結論
config 系ファイルの先頭に空行が入っていた
たったそれだけ。
削除したら治った。
なぜだろう?
おそらく nginx がレスポンスを受け取った時、configに紛れ込んだ空行により、そこでヘッダが終了したと認識されてしまってるのではなかろうか。
Discussion