現象
タイトルの通りカスタムエラーページが表示されずシステムのエラーページがでてきてしまう。
例えばsinatraで以下のようなコードを書いて/
にアクセスするとchromeではSinatra doesn't know this ditty.
と書かれたページが表示されるがEdgeではMicrosoft Edgeでこのページを表示できません
というページが表示されてしまう。
app.rb
require "sinatra"
確認したMicrosoft Edgeのバージョン
Microsoft Edge 25.10586.0.0
Microsoft EdgeHTML 13.10586
原因と対策
Microsoft EdgeではContent-Length
が512
以下の場合システムのエラーページを出してしまうようである。
よってContent-Length
を513
以上にすればよい。
以下のコードを書いて/512
にアクセスするとMicrosoft Edgeでこのページを表示できません
ページが表示されるが、/513
にアクセスするとaaaaaaaaaaaaa...
というページが表示されることが確認できる。
app.rb
require "sinatra"
get "/:num" do
status 404
"a" * params[:num].to_i
end