【解决方案】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 
相关推荐
2601_963870211 小时前
【计算机毕业设计】基于Spring boot+Vue系统的健身俱乐部管理系统的设计与实现
spring boot·后端·课程设计
倔强的石头_1 小时前
TextIn xParse + WorkBuddy实战,零门槛轻松打造财报解析助手
后端
andongni2031 小时前
Spring Boot基础应用开发与部署
java·spring boot·后端
程序员爱钓鱼2 小时前
Go 运算符详解
后端·面试·go
JaguarJack2 小时前
Fiber 与 PHP 8.6 Polling API 异步初探
后端·php·服务端
程序员爱钓鱼2 小时前
Rust 生命周期案例详解:从编译错误到真实业务场景
前端·后端·rust
SamChan903 小时前
用Python+Requests批量翻译PDF:从脚本到调度
后端·python·microsoft·ai·pdf·机器翻译
zyplayer-doc10 小时前
VuePress类静态文档站和动态知识库怎么选:两种技术路线的适用场景
javascript·人工智能·后端·安全·智能手机