今天发现zuul网关,不能够正常请求了,经过排查发现是spring整合tomcat的 ssl证书过期了,于是我们开始更换证书
1.先从阿里云下载tomcat证书
2.解压文件
3.使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在JAVA环境中,如果没有配置全局环境 就在%JAVA_HOME%/jdk/bin目录下执行)
命令:
keytool -importkeystore -srckeystore D:\3935072__91yixun.com_tomcat\3935072__91yixun.com.pfx -destkeystore D:\x91yixun_com.jks -srcstoretype PKCS12 -deststoretype JKS
回车后输入JKS证书密码和PFX证书密码,推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。
PFX证书密码在解压文件中TXT中
4.将jks文件导入springboot中的resources文件夹,更改yml配置,并进行打包
@EnableDiscoveryClient @EnableCircuitBreaker @SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) @EnableFeignClients @EnableZuulProxy public class JboneSmGatewayApplication { public static void main(String[] args) { new SpringApplicationBuilder(JboneSmGatewayApplication.class).banner(new JboneSmGatewayBanner()).logStartupInfo(true).run(args); } @Value("${http.port}") private Integer port; @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http return tomcat; } // 配置http private Connector createStandardConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setPort(port); return connector; } }
最后启动运行就可以
注意:新生成的jks文件名不要与原来的相同,重新起一个名称,我一开始起相同的名称,一直启动不了,报key-store-password错误,最后 改了名称才好的。