nginx使用openssl的证书-泛解析
一、需求分析
我们公司测试环境,域名更换,原来的*.dev.devbao.cn 变为 *.dev.vdai.cn ,此处的*表示多个二级域名,导致原来为dev.devbao.cn制作的ssl证书无法使用,需要重新生成。想着是内网服务器,仅供内部测试环境用,所以决定自己制作一个泛解析的ssl证书足矣
此处环境:两台服务器,系统:centos7
CA服务器:192.168.1.75 对应的主机名:tianfen.devdai.cn
nginx服务器:192.168.1.10 多个站点: *.dev.vdai.cn
二、准备证书
一)在CA服务器上操作
0. 前期准备工作
cd ~/ mkdir ssl cd ssl mkdir demoCA cd demoCA mkdir newcerts mkdir private touch index.txt echo '01' > serial
1. 制件 CA 证书
生成 CA 私钥: ca.key
openssl genrsa -des3 -out ca.key 2048
这样是生成 rsa 私钥,`des3` 算法,openssl 格式,2048 位强度。`ca.key` 是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。另外可以通过以下方法生成没有密码的key:
openssl rsa -in ca.key -out ca_decrypted.key
生成 CA 根证书的公钥 ca.crt:
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
二)在nginx服务器 --------- 制作网站的 https 证书,并用 CA 签名认证
记住:我们是需要为 *.dev.vdai.cn 颁发ssl证书
先生成 的证书私钥 host.pem
openssl genrsa -des3 -out host.pem 1024
无密码的私钥
openssl rsa -in host.pem -out host.key
生成 csr 签名请求
openssl req -new -key host.pem -out host.csr
这里需要输入国家,地区,组织,email等。最重要的是 **common name**,可以写你的名字或者域名。如果为了 https 申请,这个必须和域名一样,比如是test.dev.vdai.cn的话,这里要写 test.dev.vdai.cn,否则会引发浏览器警报,这里可以写为 *.dev.vdai.cn 来做泛域名证书。切记:不能写成*.vdai.cn
到此为止,nginx客户端的证书请求,已经制作好了,把host.csr拷贝到CA服务器
scp host.csr 192.168.1.75:/root/ssl/demoCA/
最后,切换到CA服务器, CA 证书进行签名
openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in host.csr -out host.crt
这样网站的 https 证书就做完了。
还有一步就是把 ca.crt 的内容追加到 host.crt 后面,因为有些浏览似乎不支持。
cat ca.crt >> host.crt
证书签署完成以后:
1.拷贝host.crt到nginx服务器
nginx 配置
加入配置内容:
例如:test.dev.vdai.cn
server {
listen 443;
server_name test.dev.vdai.cn;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /PATH/TO/host.crt; ---写host.crt对应的路径
ssl_certificate_key /PATH/TO/host.key; ---写host.key对应的路径
ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES"; ssl_prefer_server_ciphers on; location / { try_files $uri $uri/ =404; } }
2.把ca.crt证书导入到浏览器,(选择受信任的根证书颁发机构)
3.测试效果

nginx使用openssl的证书-泛解析的更多相关文章
- nginx 域名泛解析
部分应用场景下要求服务器根据客户输入的二级域名地址自动访问不同的页面,比如一个服务器放置了不同的业务,商城.官网等多个业务,又不想一个个配置server, 网站目录结构入戏: html 网站根目录 m ...
- [Linux.NET]Nginx 泛解析配置请求映射到多端口实现二级域名访问
由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...
- openssl - 数字证书的编程解析
原文链接: http://www.cangfengzhe.com/wangluoanquan/37.html 这篇文章主要介绍PKI公钥体系中非常核心元素——数字证书的编程解析.在SSL,SET等安全 ...
- Nginx 泛解析配置请求映射到多端口实现二级域名访问
由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...
- Nginx https免费SSL证书配置指南
生成证书 $ cd /usr/local/nginx/conf $ openssl genrsa -des3 -out server.key 1024 $ openssl req -new -key ...
- Nginx实现多域名证书HTTPS
目前公司有2个域名,其中这次涉及到3个子域名需要更改为HTTPS传输,分别为: passport.abc.com www.test.com admin.test.com 那么就涉及到购买ssl证书的问 ...
- CentOS6系统openssl生成证书和自签证书
CentOS6系统openssl生成证书和自签证书的过程,记录一下,本文基于CentOS 6 64bit.$ yum install openssl openssl-devel 1,生成服务器端的私钥 ...
- Nginx 下配置SSL证书的方法
1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块 ...
- CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问
参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问 ...
随机推荐
- Factovisors - PC110704
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/uva10139.html 原创: 作者: ...
- iOS基础 - 完善键盘处理
1.完善键盘处理 步骤一:创建一个数组,里面装着所有的文本框. 步骤二:监听所有文本框的开始编辑,设置所有文本框的代理为控制器 1.设置生日和城市不允许键盘输入 2.当开始编辑的时候调用,用一个成员属 ...
- 移动tempdb导致数据库服务不能启动
事情的起因是因为数据库的IO操作过大,于是新加了个硬盘,发现在执行写入操作的时候,服务器的压力依然是比较大的,于是想到了内存盘.内存盘是"魔方"系统优化提供的一个小工具,就是将内存 ...
- Day1:T3 bfs T4 树形DP
T3:BFS 回看了一下Day1的T3...感觉裸裸的BFS,自己当时居然没有看出来... 同时用上升和下降两种状态bfs即可 这一题还要注意一个细节的地方,就是题目要求的是求往返的最优解 k=min ...
- [转] iOS ABI Function Call Guide
source: apple ARMv6 Function Calling Conventions When functions (routines) call other functions (sub ...
- 搜索广告与广告网络Demand技术-流式计算平台
流式计算平台-Storm 我们以Storm为例来看流式计算的功能是什么. 下面内容引用自大圆的博客.在Storm中,一个实时应用的计算任务被打包作为Topology发布,这同Hadoop的MapRed ...
- java 的sigola orm 的开发,第一次学写java,可以用在play上面
当然还是开源:https://github.com/xiaose1205/sigola 初学者有用,高手可以给点建议,勿喷啊.net转java,有些思想还没有那么快转.希望得到大家的支持啊 使 ...
- JQUERY UI DOWNLOAD
JQUERY UI DOWNLOAD jDownload是jQuery的一个下载插件,用户可以在下载文件之前知道文件的详细信息,在提高用户体验度方面起到了很大的作用. 鉴于官网的Demo是通过PHP文 ...
- windows下配置PHP+Nginx+MySQL完整流程(转)
对于在windows上的php+nginx的配置可能好多同学一次根本都配不正确,于我也是如此,为此我将我成功配置的过程细致的总结如下,希望能帮助搞PHP研究的同学 1.资源准备 MySQL:这个链接不 ...
- python logging info -> 将服务请求记录输出
在tornado 里面这样用 看看logging.warning() , logging.info() , 我们非常想用 zdaemon , 和 logging 将对系统的所有访问转换到服务器里面,作 ...