IISとnginxステータスコードの変更

昔の携帯のオープンソーシャルとかで、プラットフォームのプロクシが間に入る場合などに、アプリケーションサーバが出力した400番台とか、500番台のステータスコードとかをエラー画面とともに200のステータスコード返したいというニーズがあったりする。

で、そういう場合どうするかというとnginxとかでは。設定ファイルに

 error_page  404  =200 /200.html;


IISとかではweb.configとかに、こんな感じに書くらしい

<httpErrors>
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" prefixLanguageFilePath="" path="200.html" responseMode="File" />
</httpErrors>

なんでそんなことしたかっていうとチューニングイベントで404のアクセスがたくさんきてうざかったので。200返したのでした。(今は外してます)。


参考:
http://wiki.nginx.org/HttpCoreModule#error_page
http://serverfault.com/questions/401415/iis-7-returns-http-200-on-custom-404-error-page