You can configure an Access Control List for IP Addresses in Spring Boot through the IPAddressAccessControlHandler. Let’ see how to do it.
@Bean public UndertowServletWebServerFactory embeddedServletContainerFactory() { UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory(); factory.addDeploymentInfoCustomizers(new UndertowDeploymentInfoCustomizer() { @Override public void customize(DeploymentInfo deploymentInfo) { // Enable IPAddressAccessControlHandler deploymentInfo.addOuterHandlerChainWrapper(new HandlerWrapper() { @Override public HttpHandler wrap(HttpHandler handler) { return new IPAddressAccessControlHandler(handler).setDefaultAllow(false).addAllow("192.168.10.1").addAllow("192.168.10.2"); } }); } }); return factory; }
If you prefer, you can use the HandlerParser.parse() method to read the IP ACL:
@Bean public UndertowServletWebServerFactory embeddedServletContainerFactory() { UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory(); factory.addDeploymentInfoCustomizers(new UndertowDeploymentInfoCustomizer() { @Override public void customize(DeploymentInfo deploymentInfo) { deploymentInfo.addOuterHandlerChainWrapper(HandlerParser.parse("ip-access-control(default-allow=false, acl={'192.168.10.1 allow', '192.168.10.2 allow'})", getClass().getClassLoader())); }); } }); return factory; }Found the article helpful? if so please follow us on Socials