Мне нужна помощь. Я создал простой проект с весенней безопасностью. Но перенаправление с 8080 на 433. не работает, как я ожидал.
@Bean
public ServletWebServerFactory servletContainer() {
// Enable SSL Traffic
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
// Add HTTP to HTTPS redirect
tomcat.addAdditionalTomcatConnectors(httpToHttpsRedirectConnector());
return tomcat;
}
private Connector httpToHttpsRedirectConnector() {
Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
connector.setScheme("http");
connector.setPort(8080);
connector.setSecure(false);
connector.setRedirectPort(443);
return connector;
}
После авто-перенаправления с localhoste: 8080 / URL выглядит так: https://localhost
Сервер не отвечает. Я должен вручную добавить номер порта в URL: https://localhost: 443 /
my application.properties:
server.port=433
server.ssl.enabled=true
server.ssl.key-store=src/main/resources/ssl_security.p12
server.ssl.key-store-password=secret
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=ssl_security
Я что-то не так сделал? Или, может быть, это какая-то конфигурация моего веб-браузера?
Ниже ссылка на github:
https://github.com/scina/SpringBootSecurity