【解决方案】SpringBoot项目添加ssl证书后不生效问题

SpringBoot项目添加ssl证书后不生效问题

缘

在我的网站中添加证书后报错,不是打包失败,就是证书添加后启动失败,亦或者是前端页面请求后端地址失败。

解决方案

. 打包报错

报错:
bash 复制代码
(default-resources) on project pig-boot: filtering G:\INFINITE-SISM\cursor\mysite\platform-irule - cursor\pig-boot\src\main\resources\liufei.xyz.pfx to G:\INFINITE-SISM\cursor\mysite\platform-irule - cursor\pig-boot\target\classes\liufei.xyz.pfx failed with MalformedInputException: Input length = 1 -> [Help 1]
原因:

springboot编译resource中二进制文件导致的报错。

解决方案:

在pom.xml中添加以下内容:

bash 复制代码
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<!-- SSL 密钥库是二进制文件,必须禁止 Maven 资源过滤 -->
					<nonFilteredFileExtensions>
						<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
						<nonFilteredFileExtension>p12</nonFilteredFileExtension>
						<nonFilteredFileExtension>jks</nonFilteredFileExtension>
					</nonFilteredFileExtensions>
				</configuration>
			</plugin>

.证书报错

报错
bash 复制代码
Unable to create key store: Could not load store from 'classpath:game.*.xyz.pfx'
DerInputStream.getLength(): lengthTag=111, too big.
原因:

resource中的证书文件与target中的证书文件不一致,文件被当成文本编译。

解决方案:

在pom.xml中添加以下内容:

bash 复制代码
			
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<excludes>
					<exclude>ssl/**</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>false</filtering>
				<includes>
					<include>ssl/**</include>
				</includes>
			</resource>
		</resources>

.前端访问接口报错

报错
bash 复制代码
Unable to create key store: Could not load store from 'classpath:game.*.xyz.pfx'
DerInputStream.getLength(): lengthTag=111, too big.
原因:

HTTPS 会校验证书域名。你的证书只包含:

.xyz
www.
.xyz

不包含 127.0.0.1

解决方案:

在vite.config.js的转发中配置允许非 HTTPS 连接:

bash 复制代码
    proxy: {
        '/api': {
          target: env.VITE_ADMIN_PROXY_PATH, 
          ws: true,  
          changeOrigin: true,  
          secure: false 
相关推荐
136096757231 分钟前
LLM 当裁判可靠吗:位置偏见、长度偏见、自我偏好
后端
拖孩25 分钟前
流量主门槛从 500 降到 100,我的小程序上线 18 小时够到了线
前端·后端·微信小程序
养军博客33 分钟前
Spring Security 4.x / 5.x / 6.x 配置全对比:前后端不分离与前后端分离
java·后端·spring·springsecurity
wifi___34 分钟前
SpringBoot自动装配原理
java·spring boot·后端
日日大王学编程37 分钟前
AI 时代后端方向新人的未来规划与看法
人工智能·后端·python·ai·golang
Fox爱分享1 小时前
都问程序员双十一买什么,我的答案一定是这块专业编程显示器
后端·程序员·ai编程
Small-Young1 小时前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·spring boot·mysql·postgresql·乐观锁·并发控制
CCblandy1 小时前
缓存淘汰实测:一次全表扫描把 LRU 命中率从 46% 打到 38%,W-TinyLFU 守住 50% 却贵 11 倍
后端·python·缓存·性能优化·架构
武子康1 小时前
DOA 100%、GSC 改善 12 dB,ESP32-P4 远场拾音就能用了吗?
人工智能·后端·agent
愚农搬码2 小时前
企业为什么需要表单引擎,而不是继续手写 Vue 表单?
后端