1
resposta

Como fazer a api spring boot res rodas com o protcolo HTTPS

Olá. Preciso fazer como que a minha API rode com o protocolo HTTPS nas requisição que são feitas para ela. Segui alguns tutoriais, mas não consigo fazer com que rode no com HTTPS. Abaixo segue as alterações que fiz.

application.properties Obs: coloquei o arquivo .p12 na pasta resources

server.ssl.key-store=src/main/resources/springboot.p12
server.ssl.key-store-password=password
server.ssl.key-store-type=pkcs12
server.ssl.key-alias=springboot
server.ssl.key-password=password
server.port=8443

SecurityConfig.java

@Configuration
@EnableResourceServer
public class SecurityConfig extends ResourceServerConfigurerAdapter {
    @Override
    @Order(Ordered.HIGHEST_PRECEDENCE)
    public void configure(HttpSecurity http) throws Exception {
        http
                .requiresChannel()
                .anyRequest()
                .requiresSecure()
                //.sessionManagement()
                //.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and().cors().and() // responsavel por desabilitar o cors
                .csrf().disable()
                .authorizeRequests()
                .antMatchers("/home/**").permitAll()
                .antMatchers("/email/fale-conosco").permitAll()
                .antMatchers("/apidoc").permitAll()
                .antMatchers("/javadoc").permitAll()
                .antMatchers("/swagger-ui.html").permitAll()
                .antMatchers("/swagger-resources/**").permitAll()
                .antMatchers("/v2/**").permitAll()
                .anyRequest().hasAnyRole("ADMIN","PORTAL")
                .and()
                .httpBasic()
                .realmName("CRM_REALM");
    }


    @Override
    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
        // do not require a resource id in AccessToken.
        resources.resourceId(null);
    }
}

O projeto sobe mas não reconhece nenhuma porta nem protocolo

Algém poderia ajudar?

1 resposta

Olá Raphael,

Pelo que entendi, você já fez as configurações necessárias para habilitar o HTTPS na sua API Spring Boot, mas ainda não está funcionando corretamente.

Uma sugestão é verificar se o seu certificado SSL está válido e se está sendo carregado corretamente pelo servidor. Além disso, verifique se a porta 8443 está aberta e se não está sendo bloqueada por algum firewall ou outra configuração de rede.

Outra possível solução é adicionar a seguinte linha no seu arquivo application.properties:

server.ssl.enabled=true

Isso deve habilitar o suporte ao SSL na sua aplicação.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software