ピックアップ
DockerコンテナでのLaravelのルーティングが404でログも出なかった件
Laravelを使用していて、
Dockerコンテナの環境で、
ネットワークを構築して、
UI側との接続を試していたら
"GET /routing/path HTTP/1.0" 404のエラーが発生したが、
この件、なぜか調べたときの内容。
Laravelのバージョン
Laravelのバージョンとしては、
php artisan --versionというコマンドで確認すると、
$ php artisan --version
Laravel Framework 9.52.4というバージョンであることがわかります。
事象
Laravelでのルーティングに関しては、
php artisan route:listで確認したら、
GET|HEAD /routing/pathが存在するので、
ルーティング設定自体は問題ない。
エラーログ詳細としては、
"GET /routing/path HTTP/1.0" 404というエラーが起きていた。
調査途中メモ
調査途中で、
Laravelのログを確認しようとしたら、
storage/logsにログファイルが生成されていない。
コンテナ内の
フォルダの所有権を調整したら、
ログファイルは生成された。
ただし、
php artisan tinkerで、
Log::debug('Test log message');こちらを試すとログは出るが、
UI側から試しに動かしてアクセスあっても、
ログに出力されず。
Nginxの設定で、
ドメイン指定でホストから動かしていたのを、
server {
listen 80;
server_name localhost;にしてしまっていたので、
server {
listen 80;
server_name sample.com;のように修正。
これで、
UI側で、
404ネットワークエラーが開発ツールで出てたのが、
500エラーに変わったので、
進捗ありかなと。
ただ、Laravelのログに何も表示されない。
ログファイルのパーミッションを確認したら、
-rw-r--r-- 1 root root 236 Sep 22 08:28 laravel.logになってしまっていたので、
-rwxr-xr-x 1 www-data www-data 236 Sep 22 08:28 laravel.logになるように調整。
これでLaravel側にもログでたので、
ここらから先はなんとかなるので、
調査対応完了。
まとめ
原因としては、
やはり、
基礎的な設定周りのミスが原因だった。
コンテナ初期構築時の設定ファイルそのままにしていた
ということになりますね。
そのため、結果として、
環境変数ファイル、環境後の設定情報に変更
という点と、
そうなるような仕組み作りが大切ですね。
リポジトリ内に準備するファイルを含めて。
おすすめ書籍
コメント一覧
コメントはまだありません。




コメントを残す