SLB配置自己生成的SSL证书--双向认证

2023-10-30 12:59

本文主要是介绍SLB配置自己生成的SSL证书--双向认证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SLB配置自己生成的SSL证书--双向认证

因为公司业务的服务器只提供接口给移动端使用,不需要浏览器访问,而且要求使用双向认证,移动端要预埋证书,这就涉及到证书过期之后必须更新才能访问服务器的问题。使用第三方机构的服务器证书,有效期就1-2年,过期不得不更换,而移动端又不能确保用户及时更新,安全性什么的要求也高。总之,业务的需求决定了最终没有购买第三方机构的服务器证书,而是使用了openssl自己生成的证书。

之前是把证书直接配置在后端服务器上,但考虑到后续业务的扩展以及高可用的要求,还是应该要做负载均衡,所以就尝试在阿里云的SLB服务上做配置。

1.生成证书

首先生成证书,这里我是写了一个build_cert.sh脚本和配置来生成CA证书,以及服务端和客户端证书的,具体编写可以参考这篇文章:https://blog.csdn.net/ustccw/article/details/76691248

我这里生成测试证书使用的域名是:slb.test.mosiliang.top

接着在linux系统终端执行脚本build_cert.sh,就生成了ca.cert,ca.key,client.cert,client.key,server.cert,server.key等后续需要的文件。

2.上传证书

这些证书文件生成之后还不能直接使用,需要做一些格式转换。我这里使用openssl到脚本所在路径下执行如下指令:

openssl pkcs12 -export -in rsa/server.cert -inkey rsa/server.key -out server.pkcs12 -name server -CAfile rsa/ca.cert -caname root -chain

输入密码(随意写,但要记住,因为后续还要用到,我这里是:1523480205018),得到server.pkcs12服务器证书。

但是SLB里要求的证书格式是pem格式,所以要做PKCS#12 到 PEM 的转换:

openssl pkcs12 -in server.pkcs12 -nokeys -out server.pem

接下来上传证书到SLB做配置,先是上传服务器证书,这里要选择第三方签发证书,如下图:
在这里插入图片描述

接着下一步选择文件上传,就是server.pem文件,但是这里生成的文件直接上传会提示格式错误,按照里面的样例格式说明(如下图),

在这里插入图片描述

打开server.pem文件发现这里生成时多了一些额外的信息,我们只要把BEGIN CERTIFICATE和END CERTIFICATE的两部分单独拷贝到上传证书的输入框那里就可以了。

接着是服务端私钥的上传,也就是前面生成的server.key文件,这里直接上传也会提示格式不对,对比格式样例,我这里是收尾行少了个"RSA",即按照格式,只要把BEGIN PRIVATE KEY改成BEGIN RSA PRIVATE KEY,END PRIVATE KEY改成END RSA PRIVATE KEY就可以了。

上传服务器证书之后就可以选择证书了。另外,因为要实现双向认证,所以还要启用双向认证并上传CA根证书,如下图:

这篇关于SLB配置自己生成的SSL证书--双向认证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/308093

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos