Maison  >  Article  >  Java  >  Comment configurer Springboot pour passer de http à https

Comment configurer Springboot pour passer de http à https

WBOY
WBOYavant
2023-05-27 15:11:421468parcourir

SSL est un protocole de sécurité utilisé pour garantir la sécurité et l'intégrité des données des communications réseau. Il crypte les connexions réseau au niveau de la couche de transport réseau.

Exemple : la connexion unique de cas utilise SSL

1. Génération de certificats de sécurité

1 Vous pouvez utiliser l'outil de génération de certificats fourni avec jdk avec un outil de gestion de certificats appelé keytool. Implémentez le certificat signé.

2. Configurez d'abord l'environnement Java de base, ctrl+r et entrez cmd pour entrer dans le répertoire java

3 Exemple : Générez un certificat avec l'alias tomcat. Utilisez d'abord la commande pour saisir le jdk bin. 123456

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456

Comment configurer Springboot pour passer de http à https

4 Obtenez un fichier tomcat.keystore et mettez-le. fichier dans Dans le répertoire du projet

Comment configurer Springboot pour passer de http à https

2. Configurez SSL

1. Modifiez le fichier application.properties

package com.example;

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class SpringBootHttpsApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootHttpsApplication.class, args);
    }
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

    @Bean
    public Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //Connector监听的http的端口号
        connector.setPort(8080);
        connector.setSecure(false);
        //监听到http的端口号后转向到的https的端口号
        connector.setRedirectPort(8443);
        return connector;
    }

}

3. Testez l'utilisation

1. Vérifiez les informations de démarrage

Comment configurer Springboot pour passer de http à https

2. :8080/ AmazeUI-2.7.2/login.html J'ai personnalisé une page web html, qui a été redirigée vers le port 8443

Comment configurer Springboot pour passer de http à https

3 La barre d'adresse du navigateur montre qu'elle n'est pas sécurisée : car ce certificat ne l'est pas. fiable, traditionnel Généralement, les entreprises doivent acheter ce certificat

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer