1. SSL-Zertifikat generieren
1. Geben Sie das bin-Verzeichnis des lokalen JDK ein und öffnen Sie cmd
2. Geben Sie den Befehl zum Generieren des Zertifikats ein
keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/tomcat.keystore -storepass 123456
Alias: Alias
Keypass: Zertifikatspasswort
Keystore: generiertes Zertifikat
2. Konfigurieren Sie die Datei application.properties
server.port=7003
#jks
server.ssl.key-store=tomcat.keystore
server.ssl.key-store-password=123456
server.ssl.key-password=123456
server.ssl.key-store-type=JKS
server.ssl.key-alias=tomcat
3. Konfigurationsklasse
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.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author dongxiajun
* @since 2022-12-26 16:10
*/
@Configuration
public class TomcatConfig {
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection = new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
return tomcat;
}
private Connector initiateHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
//这个标识的是http的端口
connector.setPort(7004);
connector.setSecure(false);
//这个标识的是https的端口内容;
connector.setRedirectPort(7003);
return connector;
}
}
4. Es liegt eine Portanomalie vor
Platzieren Sie das Zertifikat unter „Ressource“ und konfigurieren Sie es in der Konfigurationsdatei: server.ssl.key-store=classpath:tomcat.keystore
Lösung:
①Legen Sie die Zertifikatsdatei im Projektstammverzeichnis
ab ②Konfiguration der Konfigurationsdatei:server.ssl.key-store=tomcat.keystore