一、需求分析

我们公司测试环境,域名更换,原来的*.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的证书-泛解析的更多相关文章

  1. nginx 域名泛解析

    部分应用场景下要求服务器根据客户输入的二级域名地址自动访问不同的页面,比如一个服务器放置了不同的业务,商城.官网等多个业务,又不想一个个配置server, 网站目录结构入戏: html 网站根目录 m ...

  2. [Linux.NET]Nginx 泛解析配置请求映射到多端口实现二级域名访问

    由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...

  3. openssl - 数字证书的编程解析

    原文链接: http://www.cangfengzhe.com/wangluoanquan/37.html 这篇文章主要介绍PKI公钥体系中非常核心元素——数字证书的编程解析.在SSL,SET等安全 ...

  4. Nginx 泛解析配置请求映射到多端口实现二级域名访问

    由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...

  5. Nginx https免费SSL证书配置指南

    生成证书 $ cd /usr/local/nginx/conf $ openssl genrsa -des3 -out server.key 1024 $ openssl req -new -key  ...

  6. Nginx实现多域名证书HTTPS

    目前公司有2个域名,其中这次涉及到3个子域名需要更改为HTTPS传输,分别为: passport.abc.com www.test.com admin.test.com 那么就涉及到购买ssl证书的问 ...

  7. CentOS6系统openssl生成证书和自签证书

    CentOS6系统openssl生成证书和自签证书的过程,记录一下,本文基于CentOS 6 64bit.$ yum install openssl openssl-devel 1,生成服务器端的私钥 ...

  8. Nginx 下配置SSL证书的方法

    1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块 ...

  9. CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问

    参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问 ...

随机推荐

  1. Python的RotatingFileHandler的Bug

    Python的库非常强大,基本能找到我们所有需要的lib.logging模块是Python中的日志记录库,借鉴了Java中的LOG4J模块的思想,能非常方便的用于记录软件执行日志. 最近有在开发自动化 ...

  2. FineUI开源版之TreeGrid实现

    FineUI开源版是没有树表格的,但是又需要,怎么办呢?在博客园看到一位大大的文章 http://www.cnblogs.com/shiworkyue/p/4211002.html 然后参考,不知道为 ...

  3. AspNet MVC3中过滤器 + 实例

    AspNet MVC3中过滤器 + 实例 过滤器在请求管线注入额外的逻辑,提供简单优雅的方法实现横切点关注(AOP),例如日志,授权,缓存等应用.通过AOP可以减少在实际的业务逻辑中参杂过多非直接业务 ...

  4. html页面显示服务器时间

    全局变量 var lblTimer; var d; ready事件里面写 lblTimer = $("#lbltimer"); d = new Date('<%=DateTi ...

  5. [转]iOS Anti-Debugging Protections

    source-1: http://www.coredump.gr/articles/ios-anti-debugging-protections-part-1/ source-2: http://ww ...

  6. wpf中数据绑定(Datacontext)的应用

    在winform开发中,我们常用到ado.net进行数据绑定,在编程技术日新月异的今天,这种繁杂的数据绑定方式已不能再适合开发人员,于是微软推出了wpf,更炫的界面美化,更简洁地编写控件,在wpf中使 ...

  7. CVPR 2013

    CVPR2013大部分文章都已经公开了,大家可以通过下面的网址访问: http://www.cv-foundation.org/openaccess/CVPR2013.py# 还有一篇根据CVPR20 ...

  8. JavaScript 实现文本编辑器

    JavaScript 实现文本编辑器 最近,我需要做一个非常基本的网页内容编辑功能.我不想使用 iframe ,我也不想要一个功能特别多的复杂编辑器,只需要很基本的内容编辑功能,例如粗体,斜体,列表, ...

  9. longlistselector 闪烁问题研究

    在使用微博的时候,发现微博列表偶尔闪一下.后来自己在写应用的时候也出现了这个问题,不过微博用的是listbox,而我用的是longlistselector.仔细关注了一下,发现闪烁的内容是最后一个it ...

  10. 正则表达式引擎:nfa的转换规则。

    正则表达式引擎:nfa的转换规则. 正则到nfa 前言 在写代码的过程中,本来还想根据龙书上的说明来实现re到nfa的转换.可是写代码的时候发现,根据课本来会生成很多的无用过渡节点和空转换边,需要许多 ...