Java

Whitelabel Error Pageを無効にする一番簡単な方法 [Spring Boot]

セキュリティ対策として、Spring BootのWhitelabel Error Pageを無効にしたい方向けの記事です。

デフォルトのWhitelabelページを無効にする方法は、

  • プロパティファイル(yaml、properties)で無効にする
  • ソースコードで無効にする

の2つがあります。

プロパティファイルで無効にする方法は最も手軽ですが、若干ながらサーバの情報が漏れてしまいます

よりセキュリティ性を高めたい場合は、漏洩を極力少なくすることが出来る、ソースコードで無効にする方法を選択してください。

プロパティファイルで無効にする方法

application.yml 又は application.properties に以下の設定値を追加します。

yamlファイル

server:
  error:
    whitelabel:
      enabled: false

propertiesファイル

server.error.whitelabel.enabled=false

ソースコードで無効にする方法

Controllerとして以下のコードを追加します。

Spring Bootで用意されているErrorController インターフェースを実装し、デフォルトの/error 処理を上書きします。

import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;

@Controller
public class MyErrorController implements ErrorController {
    @RequestMapping("/error")
    @ResponseStatus(HttpStatus.NOT_FOUND)
    @ResponseBody
    public String error() {
        return "";
    }
}

参考

この記事は役に立ちましたか?

  • この記事を書いた人
アバター画像

ゴイチ

ソフトウェアエンジニア歴20年。 C/C++, C#, Java, Kotlinが得意で、組込系・スマホ・大規模なWebサービスなど幅広いプログラミング経験があります。 現在は某SNSの会社でWebエンジニアをしています。

-Java
-, ,