Problema con la activación https utilizando Java primavera

Eamon Mac:

Estoy siguiendo este breve tutorial sobre cómo activar la seguridad https para un proyecto. https://www.thomasvitale.com/https-spring-boot-ssl-certificate/

Sin embargo, cuando corro el proyecto me sale el siguiente error:

El conector Tomcat configurado para escuchar en el puerto 8443 no se pudo iniciar. El puerto puede estar ya en uso o el conector puede estar mal configurado.

He generado el almacén de claves como se menciona en el tutorial. He visto esta pregunta planteada antes, pero con una respuesta clara. El puerto 8443 no está configurado como derecho o algo no puedo ver que cuando el tipo i netstate -aoen la línea de comandos.

Cualquier ayuda en absoluto es apreciada.

============

Mis archivos

1) application.properties

spring.data.rest.base-path=/api
server.port = 8443
server.ssl.key-store-type=PKCS12
server.ssl.key-store=src/main/resources:keystore.p12
server.ssl.key-store-password=Welcome1
server.ssl.key-alias=tomcat
server.servlet.contextPath=/

2) SecurityConfig

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.requestMatchers()
        .antMatchers("/login", "/oauth/authorize")
        .and()
        .authorizeRequests()
        .anyRequest()
        //.permitAll()
        .authenticated()
        .and()
        .formLogin()
        .permitAll();
        //.httpBasic();

    http.csrf().disable();
}

/*@Bean
public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
}*/

/*
// Create an encoder with strength 16
    BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(16);
    String result = encoder.encode("myPassword");
    assertTrue(encoder.matches("myPassword", result));
        */

@Bean
public TomcatServletWebServerFactory servletContainer() {
    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);
        }
    };
    tomcat.addAdditionalTomcatConnectors(getHttpConnector());
    return tomcat;
}

private Connector getHttpConnector() {
    Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
    connector.setScheme("http");
    connector.setPort(8080);
    connector.setSecure(false);
    connector.setRedirectPort(8443);
    return connector;
}

}

3) HelloResource

@RestController
@RequestMapping("/rest/hello")
public class HelloResource {

  @GetMapping
  public String hello(){
    return "Hello World";
  }
}
Awad:

Cambiar el puerto a 443 en la configuración.

server.port = 443

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=215266&siteId=1
Recomendado
Clasificación