Après Springboot 2.0, la façon d'activer le protocole HTTPS est un peu différente du moment 1. *, donc publiez le code.
Mon code est capable de déterminer s'il faut activer le protocole HTTPS en fonction de la condition.http2https dans les paramètres de configuration. Si le protocole HTTPS est activé, tous les accès au protocole HTTPS seront automatiquement transférés au protocole HTTPS.
1. Démarrez le programme
package com.wallimn.iteye.sp.asset; 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.beans.factory.annotation.value; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.springbootapplication; import org.springframework.boot.autoconfigure.condition.conditionalonProperty; import org.springframework.boot.web.embedded.tomcat.tomcatservletwebserverfactory; import org.springframework.context.annotation.bean; / ** * Springboot2.0 starter * @author wallimn, http://wallimn.iteye.com * * / @springbootapplication public class attetApplication {public static void main (string [] args) {SpringApplication.Run (AssetApplication.Class, args); } // Si la valeur par défaut n'est pas utilisée 80 @Value ("$ {http.port: 80}") Integer httpport; // Le port HTTPS normalement activé est tel que 443 @Value ("$ {server.port}") entier httpsport; // Méthode d'écriture de Springboot2 @bean @conditionalonproperty (name = "condition.http2https", howevalue = "true", matchIFmissing = false) public tomcatsservletwebserverfactory serpletContainer () {tomcatservletlwebserfactory tomcat = new tomcatservletwe PostProcessContext (contexte de contexte) {SecurityConstraint Contraint = new SecurityConstraint (); CONSTRAINT.SETUSERCONSTRAINT ("Confidential"); Collection SecurityCollection = new SecurityCollection (); collection.addpattern ("/ *"); CONSTRAINT.AddCollection (collection); context.addConstraint (contrainte); }}; tomcat.addadditionalTomCatConnectors (httpConnector ()); Retour Tomcat; } @Bean @conditionalonproperty (name = "condition.http2https", haveValue = "true", matchIfMissing = false) Connecteur public httpconnector () {system.out.println ("Activer http à https protocole, port http:" + this.httpt "+ this.httpsport); Connecteur Connecteur = nouveau connecteur ("org.apache.coyote.http11.http11nioprotocol"); Connector.SetScheme ("http"); // Le numéro de port de HTTP écouté par Connector.Setport (httpport); Connector.SetSeCure (false); // le numéro de port de HTTPS vers lequel vous vous tournez après avoir écouté le numéro de port de HTTPS connecté.SetRedirectPort (httpsport); connecteur de retour; }}2. Fichier de configuration
1. Configuration lors de l'utilisation du protocole HTTP
server.port = 80
2. Configuration lors de l'utilisation des protocoles HTTPS et HTTP
server.port = 443 server.ssl.key-store = classpath: keystore.p12 server.ssl.key-store-password = your-password server.ssl.keystoreType = pkcs12 server.ssl.keyalias = your-cer-alias condition.http2https = true http.port = 80
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.