项目后台服务器采用nginx+tomcat 负载均衡架构  不久 访问协议有http升级为https

对服务器认证采用沃通的ssl证书

nginx ssl证书安装 参照沃通官方文档

他们有技术支持沟通起来也很方便,但是他们只提供单项认证,没有服务器对客户端的认证

服务器对客户端的认证(如果项目网站需要)是需要我们自己来处理

记录如下:

第一步:

cd  ~/

mkdir ssl

cd ssl

mkdir demoCA

cd demoCA

mkdir newcerts

mkdir private

touch index.txt

echo '01' > serial

第二步:

制作CA根证书,下面的证书都需要它来签名。

命令:openssl genrsa -des3 -out ca.key 2048

这样是生成rsa私钥,`des3`算法,openssl格式,2048位强度。`ca.key`是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。

生成 CA根证书的公钥 ca.crt:

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

这一步会提示你输入国家、省、市、公司等名字随便你填写就行 服务器名字不要乱写

Common Name (e.g. server FQDN or YOUR name) []:   这里要填写你服务器域名(xxx.com)

一下再次遇见这样情况均和该步骤雷同

第三步:制作客户端证书

开始制作客户端证书

客户端私钥

命令:openssl genrsa -des3 -out client.pem 2048

生成客户端证书请求

命令:openssl req -new -key client.pem -out client-req.csr

CA签名客户端证书请求

命令:openssl ca -policy policy_anything -days 1460 -cert ca.crt  -keyfile ca.key -in client-req.csr -out client.crt

客户端证书CRT转换为 PKCS #12格式(全称应该叫做 Personal Information Exchange,通常以 p12作为后缀):

命令:openssl pkcs12 -export -clcerts -in client.crt -inkey client.pem -out client.p12

结束

安装客户端证书

将生成的client.p12 下载到本地电脑 点击输入密码安装

清理浏览器缓存,关闭浏览器重新打开,输入网址后会提示你导入证书,导入后网址才能正常访问不然会出现400错误。

nginx+ssl 服务器 双向认证的更多相关文章

  1. java中关于SSL/TSL的介绍和如何实现SSL Socket双向认证

    一.        SSL概述 SSL协议采用数字证书及数字签名进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传 ...

  2. java实现ssl单/双向认证通信[推荐]

    java实现ssl单/双向认证通信[推荐] 学习了:https://blog.csdn.net/zbuger/article/details/51695582 学习了:https://www.cnbl ...

  3. Nginx配置https双向认证

    1.      前期的准备工作: 安装openssl和nginx的https模块 cd ~/ mkdir ssl cd ssl mkdir demoCA cd demoCA mkdir newcert ...

  4. windows下tomcat+nginx+openssl配置双向认证

    1. 基础知识 CA证书:https://blog.csdn.net/yangyuge1987/article/details/79209473 SSL双向认证原理:https://blog.csdn ...

  5. iOS + Nodejs SSL/Https双向认证

    移动互联网的大力发展,安全越来越重要. 什么是双向认证呢?双向认证就是client要验证server的合法性,同一时候server也要验证client的合法性. 这样两方都相互验证,提高安全性. 关于 ...

  6. php实现https(tls/ssl)双向认证

    php实现https(tls/ssl)双向认证 通常情况下,在部署https的时候,是基于ssl单向认证的,也就是说只要客户端认证服务器,而服务器不需要认证客户端. 但在一些安全性较高的场景,如银行, ...

  7. Https、OpenSSL自建CA证书及签发证书、nginx单向认证、双向认证及使用Java访问

    0.环境 本文的相关源码位于 https://github.com/dreamingodd/CA-generation-demo 必须安装nginx,必须安装openssl,(用apt-get upd ...

  8. SSL双向认证和SSL单向认证的流程和区别

    refs: SSL双向认证和SSL单向认证的区别https://www.jianshu.com/p/fb5fe0165ef2 图解 https 单向认证和双向认证!https://cloud.tenc ...

  9. 使用wireshark观察SSL/TLS握手过程--双向认证/单向认证

    SSL/TLS握手过程可以分成两种类型: 1)SSL/TLS 双向认证,就是双方都会互相认证,也就是两者之间将会交换证书.2)SSL/TLS 单向认证,客户端会认证服务器端身份,而服务器端不会去对客户 ...

随机推荐

  1. C#基础_MD5

    MD5加密 1创建Md5 2.开始加密,需要将字符转换为字节数组 3.返回一个加密好的字节数组 4.将字节数组中每个元素按照指定的编码格式解析成字符串 1 static void Main(strin ...

  2. /*+ hint*/用法,该如何解决

    /*+ use_hash(b, a)*/用法SELECT /*+ use_hash(b, a)*/  1,  NVL(b.AgentWorkGroup, ' '),  ................ ...

  3. jQuery滑动

    通过 jQuery,您可以在元素上创建滑动效果. jQuery 拥有以下滑动方法: slideDown(speed,callback):用于向下滑动元素. slideUp(speed,callback ...

  4. Factorized Hidden Variability Learning For Adaptation Of Short Duration Language Identification Models

    基于因子分解的隐层变量学习,应用于短语句语种识别模型的自适应     LFVs(Language Feature Vectors,语种特征向量)[11],与BSVs(Bottleneck Speake ...

  5. Spark思维导图之Spark SQL

  6. mui列表系列

    详细操作见代码: <!doctype html> <html> <head> <meta charset="UTF-8"> < ...

  7. Element Tabs 组件中使用 ve-histogram组件渲染不出来(已解决)

    Element Tabs 组件中使用 ve-histogram组件渲染不出来 发现问题提了issue,饿了么前端“西瓜”同学很快做了回复,饿了么大前端团队有沉淀很专业,赞. tip: GitHub 的 ...

  8. IE9浏览器打开开发者工具代码正常执行,反之报错

    1.can i use console  IE9开发者工具打开时支持console对象,否则报错. 2.由于出现错误 80020101 而导致此项操作无法完成 测试代码 <!DOCTYPE ht ...

  9. linux 共享内存的理解

    1.  共享内存是在shmget时创建出来的, 在 shmget(USER_SHARE_MEM_KEY,  sizeof(ADDR_NODE) , IPC_CREAT|0666)) ==-1) 的 s ...

  10. mysql 案例 ~ mysql主从复制错误问题

    简介 mysql主从不同步的几种情况 一  具体情况   1 主库有memory引擎的内存表      分析 由于memory表的数据存放在内存中,一旦主库数据丢失,从库可能就会发生数据复制异常    ...