1.背景
最近遇到一个工作场景,在帆软服务器中通过js调用http接口,帆软填报表单提交时通过接口的方式通知到用户。过程中遇到一个问题,由于帆软服务器是https认证的,导致访问http接口时不通,最终通过在springboot中安装SSL协议解决。
2.帆软表单提交js
FR.Msg.confirm("提示", "确定要提交该需求吗?",
function(value) {
if (value) {
$.ajax({
type: 'GET',
url: 'https://finemsg.aaa.bb:9090/MsgSend/sendNewMsgToProduct?productNo=123&devName=aa&devNo=456&requirementName=cc',
data: null,
success: function(res) {
alert(222);
}
});
_g().verifyAndWriteReport();
}
}, 100);
注:通过js代码请求接口服务器,请求方式为GET。
3.开发接口代码
新建springboot项目,根据需求开发相关逻辑,此处代码省略,后面会介绍配置证书的相关步骤
4.申请域名和证书,并增加DNS解析
此部分工作有公司网络组同事完成,申请的二级域名为finemsg.aaa.bb(示例),所提供的的证书格式如下:

1)安装openssl服务
yum -y install openssl
2)通过Linux 下的 openssl 工具生成.p12 格式的证书
openssl pkcs12 -export -clcerts -in enn2022.cer -inkey enn.key -out server.p12
3) 输入两次密码,并将生成的server.p12文件拷贝到桌面
5.打开SpringBoot项目,添加证书配置
1)将server.p12文件拷贝到resources目录下

2)修改application.properties文件
server.port=9090
server.ssl.enabled=true
server.ssl.key-store=classpath:server.p12
server.ssl.key-store-password=mypass
server.ssl.key-store-type:PKCS12
3)修改pom文件,增加plugin标签
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<!-- 避免 https 证书文件被修改 -->
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>pkcs12</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
6.部署项目,并测试接口
将代码打包放到目标服务器上,并通过命令启动。提交帆软表单,进行测试。
nohup java -jar requirement-0.0.1-SNAPSHOT.jar &
20万+

被折叠的 条评论
为什么被折叠?



