セキュリティ対策として、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 "";
}
}
参考
この記事は役に立ちましたか?
フィードバック頂けると励みになります!