質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Q&A

0回答

1768閲覧

CakePHP3のエラー画面とNginxのエラー画面の使い分けについて

TakuyaHidaka

総合スコア137

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

0グッド

1クリップ

投稿2017/05/31 11:30

現在、開発中のシステムでAPサーバにNginxを使用しています。
開発環境の主な情報は以下の通りです。

  • APサーバ: Nginx(1.10.3)
  • フレームワーク: CakePHP3

今回、システムにAPIを使用する箇所があり、そのレスポンスが30秒以上経過した場合は
エラー画面を表示するように設定しました。エラー画面はNginxのデフォルトページではなく、
こちらで独自に作成したものを利用予定です。

Nginxのエラー画面をデフォルトから変更する時に、nginxの設定ファイルに以下の記述を追加しました。

txt

1server { 2 ... 中略 3 error_page 400 403 404 /error404.html; 4 location = /error404.html { 5 root /home/***/public_html; 6 internal; 7 } 8 9 error_page 500 503 503 504 /error500.html; 10 location = /error500.html { 11 root /home/***/public_html; 12 internal; 13 } 14 ... 中略 15}

これにより、APIのレスポンスタイムが30秒を上回った場合に、上記のhtmlファイルによる
エラー画面を表示することができるようになりました。

しかし、フレームワークのシステムにも例外を投げた時に表示する独自のエラー画面がすでに
あり、APIのタイムアウトなどのエラーはシステム側では拾えないエラーを表示するために
今回、Nginxのエラーについての設定を変更したつもりだったのですが、システム側のエラーまで
上記で設定したhtmlファイルでエラーが表示されるようになってしまいました。

このような事態を回避するためには、設定ファイルにどのような記述が必要なのかいろいろ
調べましたがわからない状態です。

以上をまとめると、

  • Nginx側だけで検知されるエラーのみ上記で設定したページで表示され、

システムのエラーページと分けて表示させるためにはどのようにすれば良いか

ということです。

お詳しいかたがいらっしゃいましたら、どうぞ回答をよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問