Ola, toda vez que abro a minha aplicação de API em um navegador usando spring boot, redireciona para o https e dar erro de ERR_SSL_PROTOCOL_ERROR, como realizar as configurações?
Ola, toda vez que abro a minha aplicação de API em um navegador usando spring boot, redireciona para o https e dar erro de ERR_SSL_PROTOCOL_ERROR, como realizar as configurações?
Olá Jackson! Tudo bem?
Esse erro ocorre porque o navegador está tentando acessar sua aplicação via HTTPS, mas seu servidor está configurado para responder apenas via HTTP. Para resolver esse problema, você pode configurar o Spring Boot para redirecionar todas as requisições HTTPS para HTTP ou configurar o servidor para suportar HTTPS.
OBS: a solução mais rápido é simplesmente alterar o endereço no seu navegador para ser acessado usando HTTP.
Aqui estão duas abordagens que você pode seguir:
Redirecionar HTTPS para HTTP: você pode criar uma configuração no Spring Boot para redirecionar todas as requisições HTTPS para HTTP. Adicione a seguinte classe ao seu projeto:
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class HttpsConfig {
@Bean
public WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> webServerFactoryCustomizer() {
return factory -> factory.setRedirectContextRoot(true);
}
}
Configurar HTTPS no Spring Boot: se você preferir configurar o HTTPS no Spring Boot, você precisará de um certificado SSL. Para fins de desenvolvimento, você pode usar um certificado autoassinado. Aqui está um exemplo de como configurar o HTTPS no seu application.properties
:
server.port=8443
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=changeit
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat
E você pode criar um keystore usando o comando keytool
:
keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 3650
Lembre-se de substituir changeit
pela senha que você definir para o keystore.
Espero ter ajudado e bons estudos!