Tabla de contenido
Una configuración de SpringBoot HTTPS
Tres configuraciones en SpringBoot
1 Coloque xxx.jks en la carpeta de recursos
4. Se puede acceder tanto a http como a https al mismo tiempo
2 Agregue la clase de inicio SpringBoot
Una configuración de SpringBoot HTTPS
En el trabajo, encontrará la configuración de https durante mucho tiempo. SpringBoot viene con el archivo .jks generalmente utilizado por el servidor tomcat para configurar el cifrado SSL.
Se utilizarán dos herramientas en el proceso: OpenSSL y Keytool.
OpenSSL: Dirección de descarga: http://slproweb.com/products/Win32OpenSSL.html
La herramienta keytool, que es una herramienta que viene con jdk, se puede encontrar en el directorio /bin de jdk.
2. Genera tú mismo la RSC
Los proveedores de https no entregarán archivos .jks directamente. Por lo tanto, necesitamos convertir el archivo encriptado en el archivo jks requerido.
1 Descomprima el paquete de compresión de certificados descargado para obtener el archivo "xxx.pem" y el archivo xxx.key
El archivo "server.pem" incluye dos códigos de certificado "-----BEGIN CERTIFICATE-----" y "-----END CERTIFICATE-----", que son el certificado del servidor y el certificado de CA intermedio, respectivamente. .
2 Use la herramienta OpenSSL para convertir el certificado de formato pem al certificado de formato PFX para obtener el archivo "server.pfx"
Busque el directorio bin de openssl, busque el archivo openssl.exe, haga clic con el botón derecho para ejecutar como administrador, abra la línea de comando e ingrese el comando:
pkcs12 -export -out D:\xxx.pfx -in D:\xxx.pem -inkey D:\xxx.key
Ingrese la contraseña dos veces según sea necesario. En este momento, el archivo xxx.pfx se genera en el disco d. Recuerde la contraseña del certificado PFX ingresada aquí. La configuración posterior de la contraseña JKS debe ser coherente con la contraseña PFX establecida aquí; de lo contrario, es posible que Tomcat no se inicie.
3 Use la herramienta Keytool para convertir el archivo de certificado de formato PFX a formato JKS para obtener el archivo "xxx.jks".
keytool -importkeystore -srckeystore D:\xxx.pfx -destkeystore D:\xxx.jks -srcstoretype PKCS12 -deststoretype JKS
Ingrese la contraseña del certificado JKS dos veces como se le solicite
La tercera solicitud para ingresar la contraseña del almacén de claves de origen: Ingrese la contraseña del certificado PFX establecida en el xxx.pfx generado
Compruebe si xxx.jks se genera en la unidad D
Una vez completada la generación, cree un nuevo archivo "keystorePass.txt" y guarde la contraseña JKS en este archivo.
Tres configuraciones en SpringBoot
1 Coloque xxx.jks en la carpeta de recursos
#配置jks存放位置
server.ssl.key-store=classpath:xxx.jks
#https端口号
server.port=8090
#是否启用SSL证书
server.ssl.enabled=true
#密钥库密码
server.ssl.key-store-password=jks密码
#密钥库类型(JKS类型)
server.ssl.key-store-type=JKS
2 Iniciar la prueba
4. Se puede acceder tanto a http como a https al mismo tiempo
1 nueva configuración
#http端口号
http.port=18092
2 Agregue la clase de inicio SpringBoot
// 获取配置端口
@Value("${http.port}")
private Integer httpPort;
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
// 添加http
tomcat.addAdditionalTomcatConnectors(createStandardConnector());
return tomcat;
}
/**
* 配置http
*
* @return connector
*/
private Connector createStandardConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(httpPort);
return connector;
}
cinco referencias
https://www.caojingbin.com/post/40
https://www.cnblogs.com/yangchongxing/p/13834467.html