Setelah Springboot 2.0, cara untuk mengaktifkan protokol HTTPS sedikit berbeda dari saat 1.*, jadi posting kode.
Kode saya dapat menentukan apakah akan mengaktifkan protokol HTTPS berdasarkan kondisi.http2https dalam parameter konfigurasi. Jika protokol HTTPS diaktifkan, semua akses ke protokol HTTPS akan secara otomatis ditransfer ke protokol HTTPS.
1. Mulai program
paket com.wallimn.iteye.sp.asset; impor org.apache.catalina.context; impor org.apache.catalina.connector.connector; impor org.apache.tomcat.util.descriptor.web.securitycollection; impor org.apache.tomcat.util.descriptor.web.securityconstraint; impor org.springframework.beans.factory.annotation.value; impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; impor org.springframework.boot.autoconfigure.condition.conditionAnonProperty; impor org.springframework.boot.web.embedded.tomcat.tomcatservletwebserverfactory; impor org.springframework.context.annotation.bean; /** * starter springboot2.0 * @author wallimn, http://wallimn.iteye.com * */@springbootApplication AssetApplication kelas publik {public static void main (string [] args) {springApplication.run (assetapplication.class, args); } // Jika nilai default tidak digunakan 80 @Value ("$ {http.port: 80}") integer httpport; // Port https yang biasanya diaktifkan adalah seperti 443 @Value ("$ {server.port}") integer httpsport; // springboot2 writing method @Bean @ConditionalOnProperty(name="condition.http2https", havingValue="true", matchIfMissing=false) public TomcatServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() { @Override protected void postprocessContext (konteks konteks) {SecurityConstraint Constraint = new SecurityConstraint (); kendala.setUserConstraint ("Rahasia"); Koleksi SecurityCollection = NEW SecurityCollection (); collection.addpattern ("/*"); kendala.addcollection (koleksi); context.addconstraint (kendala); }}; tomcat.addadditionaltomcatconnectors (httpconnector ()); mengembalikan Tomcat; } @Bean @conditionAlonProperty (name = "condition.http2https", haveValue = "true", matchifmissing = false) konektor publik httpconnector () {System.out.println ("Aktifkan http ke https protocol () {http:" htppp "http ke https https protocol, http:" http. "+this.httpsport); Konektor konektor = konektor baru ("org.apache.coyote.http11.http11nioprotocol"); connector.setscheme ("http"); // Jumlah port http yang didengarkan oleh connector.setport (httpport); connector.setsecure (false); // Jumlah port https yang Anda tuju setelah mendengarkan nomor port https connected.setredirectport (httpsport); konektor pengembalian; }}2. File Konfigurasi
1. Konfigurasi Saat Menggunakan Protokol HTTP
server.port = 80
2. Konfigurasi Saat Menggunakan Protokol HTTPS dan HTTP
server.port = 443 server.ssl.key-store = classpath: keystore.p12 server.ssl.key-tor-password = your-password server.ssl.keystoretype = pkcs12 server.ssl.keyalis = 8 80
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.