【解决方案】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 
相关推荐
学长毕业设计3 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
东小西4 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西4 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
阿kun要赚马内4 小时前
MySQL 索引基础
后端·mysql
码事漫谈5 小时前
我啥都能做,却不知道做什么了
后端
geovindu5 小时前
CSharp: 万年历
开发语言·后端·c#·.net
独泪了无痕7 小时前
SpringBoot Event事件机制,轻松实现业务解耦
spring boot·后端·spring
悲且狂7 小时前
SpringBoot项目改造注意事项(旧项目框架复用)
java·spring boot·后端
敲代码的嘎仔8 小时前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂
IT_陈寒8 小时前
JavaScript数组排序踩的坑,差点让我加班到凌晨
前端·人工智能·后端