nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)
前些天搭好了cas系统,这几天一致再搞nginx和cas的反向代理,一直不成功,但是走http还是测试通过的,最终确定是ssl认证证书这一块的问题,原本我在cas服务端里的tomcat已经配置了证书,并且能够使用了,但是现在我用nginx代理使用ssl与cas-server建立连接,就会失败(看了网上的大神(是不是真的大神先不管)说是nginx不支持与后台的加密连接的原因)。那么既然我nginx代理了cas-server,那么现在我nginx服务器就担任cas-server的角色,所以我需要把nginx作为ssl-server与cas-client作为ssl-client进行ssl连接,而nginx到cas-server则用http连接即可,下面开始配置。
为什么要写这个配置,因为我在网上看了很多文档,最后没有一个是能够正确生成的!发现有些人直接复制别人的东西,也不管对不对,真心坑,于是有了这篇文章...
1、下载编译安装openssl:
下载openssl(openssl-devel是openssl的开发包,可以用来建立修改依赖关系)
wget https://github.com/openssl/openssl/archive/OpenSSL-fips-2_0_11.tar.gz
解压编译然后进行安装,(我们主要讲证书生成,这里省略)
yum install openssl
2、生成根证书
2.1、先到要存放证书的路径下
cd /usr/local/nginx/conf/keys
2.2、生成证书密钥文件(key)
openssl genrsa -des3 -out eguid.key 1024
Enter pass phrase for root.key: 输入密码
Verifying – Enter pass phrase for root.key: 重新输入密码
2.3、生成证书的申请文件(csr)
openssl req -new -key eguid.key -out eguid.csr
Enter pass phrase for root.key: 输入创建的密码
Country Name (2 letter code) [AU]:国家名,可以用代号
State or Province Name (full name) [Some-State]:省名
Locality Name (eg, city) []:城市名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. 公司名
Organizational Unit Name (eg, section) []: 爱填不填
Common Name (eg, YOUR name) []: 不要输入
Email Address []:admin@mycompany.com 电子邮箱
A challenge password []: 最好不填
An optional company name []: 最好不填
2.4、生成根证书(crt)
openssl x509 -req -days 365 -sha1 -extensions v3_ca -signkey eguid.key -in eguid.csr -out eguid.crt
Enter pass phrase for eguid.key:输入之前你填的密码
解释一下:这里是用前面两个文件(key、csr)生成365天有效期的crt证书。
到这里呢,根证书就完成了,我这里完全没有任何问题,如果有问题可以找我。
----------------------------------------------------------------------------------------------------------------------------------------------
接下来创建server证书(服务器证书)
3、生成server服务器证书
3.1、生成server服务器密钥key
3.2、生成server 服务器申请文件csr
Country Name (2 letter code) [AU]: 国家名
State or Province Name (full name) [Some-State]: 省名
Locality Name (eg, city) []:市名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. 公司名
Organizational Unit Name (eg, section) []: 可以不输入
Common Name (eg, YOUR name) []:www.eguid.cn 服务器主机名,如果填写不正确,浏览器提示无效证书,但不影响使用
Email Address []:642209085@qq.com 电子邮箱,随便填
A challenge password []: 最好不输入
An optional company name []: 最好不输入
3.3、根据前面的根证书以及刚生成的两个文件生成server服务器证书
4、生成client客户端证书
4.1、生成client客户端key
4.2、生成client客户端证书申请文件csr
Country Name (2 letter code) [AU]: 国家名
State or Province Name (full name) [Some-State]: 省名
Locality Name (eg, city) []:市名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. 随便填
Organizational Unit Name (eg, section) []: 可以不输入
Common Name (eg, YOUR name) []:随便输
Email Address []:642209085@qq.com 随便填
A challenge password []: 最好不输入
An optional company name []: 最好不输入
4.3、根据根证书以及刚生成的两个文件生成client客户端证书 crt
4.4、生成client客户端证书安装包pfx
简单解释一下几种证书文件的作用及用途:
server.crt和server.key是配置单向SSL时需要使用的证书文件;
client.crt是配置双向SSL时需要使用的证书文件;
client.pfx是配置双向SSL时需要客户端安装的证书文件。
catserver.key server.crt > server.pem
nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)的更多相关文章
- nginx反向代理cas server之1:多个cas server负载均衡配置以及ssl配置
系统环境采用centOS7 由于cas server不支持session持久化方式的共享,所以请用其他方式代替,例如:组播复制. 为什么不支持session持久化:http://blog.csdn.n ...
- 跨域问题,解决方案-Nginx反向代理
跨域问题,解决之道 跨域问题,在日常开发过程中,是一个非常熟悉的名词.今天的话题,结合我之前的项目场景,讨论下<跨域问题,解决之道>. 跨域是什么 跨域问题,是由于JavaScript出于 ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- Server 主机屋云服务器 宝塔面板 部署nginx反向代理的vue项目
图文记录云服务器上部署需要nginx反向代理的vue项目: 一.先登录并购买云服务器,根据自己需求购买,此处不详细介绍: 二.登录后如下图,点击进入云服务器界面: 三.在云服务器界面点击管理,进入管理 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写以及读写分离
1.环境准备 前端Nginx:10.160.65.44 后端WEB服务器两台:10.160.65.49/10.160.65.50 2.安装Nginx: 下载nginx-1.9.15.tar.gz,放置 ...
- nginx 反向代理 与 Apache backend的配置联合配置
nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1. 设置域名, 子域名映射到指定服务器ip ...
- Nginx反向代理+负载均衡简单实现(https方式)
背景:A服务器(192.168.1.8)作为nginx代理服务器B服务器(192.168.1.150)作为后端真实服务器 现在需要访问https://testwww.huanqiu.com请求时从A服 ...
- Nginx反向代理+负载均衡简单实现(http方式)
1)nginx的反向代理:proxy_pass2)nginx的负载均衡:upstream 下面是nginx的反向代理和负载均衡的实例: 负载机:A机器:103.110.186.8/192.168.1. ...
- nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
在日常运维工作中,运维人员会时常使用到nginx的反向代理,负载均衡以及缓存等功能来优化web服务性能. 废话不多说,下面对测试环境下的nginx反向代理+缓存开启+url重写+负载均衡(带健康探测) ...
随机推荐
- FOJ 11月月赛题解
抽空在vjudge上做了这套题.剩下FZU 2208数论题不会. FZU 2205 这是个想法题,每次可以在上一次基础上加上边数/2的新边. #include <iostream> #in ...
- 用vuejs仿网易云音乐(实现听歌以及搜索功能)
前言 前端时间学了vue,一开始看了vue1.0,后来实在觉得技术总得实践,就直接上手vue2.0.然后花了将近一周时间做了一个网易云音乐的小项目.一开始觉得项目比较小,没必要用vuex所以就没有使用 ...
- git 分支的创建与提交
我们在开发的过程中会遇到很多团队协作的问题,怎么来解决团队合作呢,就是靠分支来管理代码.一般来说一个功能就要创建一个分支,这样才能减少代码的冲突,给开发带来很大的方便. 首先需要克隆代码 git cl ...
- jquery中is()函数
is(expr)函数判断当前Jquery对象所匹配的元素是否存在.只要其中一种符合,就返回 true,否则返回 false. 如果 expr是个字符串,既视为Jquery的选择器,用于表示选择的元素. ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- 微坑---微信小程序ios上时间字符串转换为时间戳时,在开发工具上和安卓手机上运行成功
给定一个时间字符串 var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法:1.var timestamp = Date.parse(time ...
- 最长递增子序列hdu1087
#include<map> #include<set> #include<list> #include<cmath> #include<queue ...
- hdu1540线段树
https://vjudge.net/contest/66989#problem/I #include<iostream> #include<cstdio> #include& ...
- 解决NSTimer循环引用Retain Cycle问题
解决NSTimer循环引用Retain Cycle问题 iOS开发中以下的情况会产生循环引用 block delegate NSTimer 循环引用导致一些对象无法销毁,一定的情况下会对我们横须造成影 ...
- 用ng-view创建单页APP
我们假设我们有一个单页面的程序,并且想为这个页面添加动画效果.点击某一个链接会将一个试图滑出,同时将另一个试图滑入. 我们将会使用: 使用 ngRoute 来为我们的页面路由 使用 ngAnimate ...