Springboot 2.0の後、HTTPSプロトコルを有効にする方法は、1.*とは少し異なります。そのため、コードを投稿します。
私のコードは、構成パラメーターの条件に基づいてHTTPSプロトコルを有効にするかどうかを判断できます。 HTTPSプロトコルが有効になっている場合、HTTPSプロトコルへのすべてのアクセスは自動的にHTTPSプロトコルに転送されます。
1。プログラムを開始します
パッケージcom.wallimn.iteye.sp.asset; org.apache.catalina.contextをインポートします。 org.apache.catalina.connector.connectorをインポートします。 org.apache.tomcat.util.descriptor.web.securitycollectionをインポートします。 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; org.springframework.context.annotation.beanをインポートします。 /** * Springboot2.0 Starter * @Author Wallimn、http://wallimn.iteye.com * */@springbootapplication public class assetapplication {public static void main(string [] args){springApplication.run(assetapplication.class、args); } //デフォルト値が使用されていない場合80 @Value( "$ {http.port:80}")integer httpport; //通常有効になっているHTTPSポートは、443 @Value( "$ {server.port}")integer httpsportなどです。 // springboot2 writing method @bean @conditionalonproperty(name = "condition.http2https"、havevalue = "true"、matchifmissing = false)public tomcatservletwebserfactory servletcontainer(){){) postprocessContext(コンテキストコンテキスト){securityconstraint Constraint = new SecurityConstraint(); constraint.setuserconstraint( "Confidential"); SecurityCollection Collection = new SecurityCollection(); collection.addpattern( "/*"); Constraint.AddCollection(collection); context.addconstraint(制約); }}; tomcat.addadditionaltomcatconnectors(httpconnector()); Tomcatを返します。 } @bean @conditionalonproperty(name = "condition.http2https"、havevalue = "true"、matchifmissing = false)public connector httpconnector(){system.out.println( " "+this.httpsport);コネクタコネクタ= new Connector( "org.apache.coyote.http11.http11nioprotocol"); connector.setscheme( "http"); // connector.setport(httpport)で聞くhttpのポート番号; connector.setsecure(false); //接続されたhttpsのポート番号を聞いた後に頼るhttpsのポート番号。setredirectport(httpsport);コネクタを返す; }}2。構成ファイル
1。HTTPプロトコルを使用する場合の構成
server.port = 80
2。HTTPSおよび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-cert-alias条件.http2https =真のhtp.port = 80
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。