GMT+0900先日タイトルの問題にぶつかったので対応方法などやったことを雑に書く。常に発生するローカルで動かしたときは全く問題なかったCookieを確認するとXSRF-TOKENが保存されていない.envの設定値もローカルと同一セッション保存先はredisにしているfileに設定変更して試した場合、POSTするたびにstorage/framework/sessionsにセッションファイルが作成される原因と対応この例外は結構みんなはまっているようで、私と同じようにローカルの開発環境では問題ないけどサーバに載せるとダメな人もいた。CloudFrontの設定でCookieがEC2に送信されないようになっていたのが原因だった。Exception従ってCloudFrontでCookieを転送するように設定するだけで解決した。Cookiesを編集すればよい。AllとWhiteListが選択可能。公式ドキュメント他に試したやつせっかくなので他に試したものも書く。調べたり試したりが、調べた内容のほとんどは下記の質問に対する回答で網羅されている。この問題が発生する原因はそれくらいまばらともいえる。68:これらの対応で解決した人もいるようなので、参考になるかもしれないしやったことを雑に書いておく。Cookie削除したらなおった説そもそも今回はXSRF-TOKENがCookieにセットすらされていないので関係なかったが、一番初めにやってみた対応ではある。CSRF-TOKENを出力してみるこれは対応方法というよりは調査のために行ったことだが、laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.phpのtokensMatchで比較しているトークンをvar_dumpで出力した。これをやってトークンが毎回異なることを確認した。sessionの設定がおかしい説.envのSESSION_DOMAINに正しいドメインを設定しないといけない説。AWSにのせた後はサブドメインで動かしており、Laravel側でサブドメインでない方のドメインのCookieと混ざって[1]問題が発生しているのかと疑ったが問題なかった。bladeにcsrf_tokenを書いてない説bladeにcsrf_token()を書いてないという説。書いてたし、値もちゃんと生成されてた。sessionストレージのパーミッション説セッションの保存方法がfileの場合にstorage/framework/sessionsのパーミッションが悪いという説。そもそもredisでやってたし、保存方法をfileに変えた場合にも前述の通りPOSTするたびにセッションファイルが生成されるだけだった。PHPタグの前にスペースがあるよ説どうも特定のファイル(session.phpなど???)の<?phpタグの前にスペースやタブがあるとレスポンスにCookieがセットされないらしい。\s+<\?phpで検索できる。念のためタブも調べたい場合は\t+<\?phpでも検索できる。VSCodeの正規表現検索で調べたが、開発しているソースコードではこれも問題なかった。感想CookieにXSRF-TOKENセットされていないのにはすぐ気付いたが、そこからがめちゃくちゃ時間かかって一日が爆散した。ソフトウェア開発はつらい。YoshinoriN)。