nginx证书基础知识及申请

简介:

TSL 是传输层安全协议,英文是transport layer security 

SSL 是安全套接字层,英文是security socket layer

这两个的区别对于不是搞安全的开发人员来讲的人来说不大

KEY 通常指私钥

CSR 是英文certificate signing request的缩写 中文名为证书签名请求,他不是证书,他是我们要申请证书时一个必要的文件, 需要给CA,CA帮我们颁发出来的证书才是我们真正的证书,这个现在可以理解为公钥

CRT 是英文certificate的缩写,中文名就是证书文件

X.509是一种证书格式,对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。一般以.crt结尾,根据文件内容编码可以分为以下两种

PEM - privacy Enhanced Mail 以文本的形式打开,以"-----BEGIN..."开头, "-----END..."结尾,内容是BASE64编码.Apache和*NIX服务器偏向于使用这种编码格式.

DER - Distinguished Encoding Rules,打开看是二进制格式,不可读.Java和Windows服务器偏向于使用这种编码格式

下面是给自己颁发证书的步骤

  1. 生成私钥

  2. 生成证书请求文件

  3. 生成CA证书

  4. 利用CA证书给自己颁发一个证书

创建目录用来存放我们的证书文件

1
# mkdir /tmp/cert/

生成私钥

1
# openssl genrsa -des3 -out server.key 2048

这一步执行完以后,cert目录下会生成server.key文件

生成证书请求文件CSR

1
# openssl req -new -key server.key -out server.csr

b342115b608e7719c27633989a1732eb.png

要注意的是Common Name这里,要填写成使用SSL证书(即:https协议)的域名或主机名,否则浏览器会认为不安全。例如:如果以后打算用https://www.zhouziqi.com/xxx 这里就填写www.zhouziqi.com


前面提过X.509证书的认证者总是CA或由CA指定的人,所以得先生成一个CA的证书

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

 最后用第3步的CA证书给自己颁发一个证书玩玩


1
2
3
openssl x509 -req -days 3650 - in  server.csr \
   -CA ca.crt -CAkey server.key \
   -CAcreateserial -out server.crt

执行完以后,cert目录下server.crt 就是我们需要的证书。当然,如果要在google等浏览器显示出安全的绿锁标志,自己颁发的证书肯定不好使,得花钱向第三方权威证书颁发机构申请(即:第4步是交给权威机构来做,我们只需要提交server.key、server.csr,哦,还有毛爷爷就好了)

下面我们认证一下我们的证书有没有问题

自己安装nginx,然后编辑配置文件nginx.conf

c0973d0295ffb75f856906eb7e6e5970.png

其中红色的方框是要自己改的

443为ssl的端口

www.zhouziqi.com是你刚刚在生成证书请求文件CSR中Common Name选项你填的网址。记住 这里你填了什么 你在访问的时候你就要怎么访问,如上,我填写了www.zhouziqi.com,那么我们就要去访问https://www.zhouziqi.com,不过我们还要去改一下hosts文件。

ssl on代表开启安全的超文本链接

ssl_certificate是ssl的证书文件的路径

ssl_certificate_key是ssl密钥的路径

重启服务

在客户端上修改C:\Windows\System32\drivers\etc目录下的hosts文件,让www.zhouziqi.com这个网址指向虚拟机的IP如下表示www.zhouziqi.com指向IP,192.168.65.128

192.168.65.128 www.zhouziqi.com

访问结果如下:

35c168540f243e995ad5b7606688f386.png

本文章转载http://www.cnblogs.com/lan1x/p/5872915.html网址


本文转自 周子琪 51CTO博客,原文链接:http://blog.51cto.com/izhouyu/1975388


相关文章
|
4月前
|
应用服务中间件 网络安全 nginx
nginx 常用命令 |升级到1.20.1版本 | 如何更换 Nginx SSL 证书
nginx 常用命令 |升级到1.20.1版本 | 如何更换 Nginx SSL 证书
157 0
|
6月前
|
tengine 应用服务中间件 Linux
【Linux环境】如何在Nginx(或Tengine)服务器上安装ssl证书----介绍nginx服务器类型证书的下载与安装操作
【Linux环境】如何在Nginx(或Tengine)服务器上安装ssl证书----介绍nginx服务器类型证书的下载与安装操作
305 0
|
5月前
|
应用服务中间件 Linux nginx
linux nginx域名证书到期,拿着客户给的新证书文件在nginx中对证书进行替换
业务场景: 📕1.找到原证书位置,可在nginx 配置文件中查找到 🖥️2.找到位置后将原文件名字 加上.old (需要更换两个文件 一个.pem 一个.key) 🔖3.将新证书文件放在原目录,并重命名为原证书文件名称 📌4.cd到sbin目录 reload nginx 📇5.查询是否替换成功 🧣6、最后的话 业务场景: 域名证书到期,拿着客户给的新证书文件在nginx中对证书进行替换
161 0
|
7月前
|
应用服务中间件 Linux nginx
NGINX配置HTTPS及PSF证书转换为PEM与KEY
NGINX配置HTTPS及PSF证书转换为PEM与KEY
475 1
|
8月前
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
252 1
|
11月前
|
应用服务中间件 nginx Windows
Nginx 在Windows下配置证书
1、从证书出售商获取证书文件,并复制到nginx的conf目录下2、打开nginx.conf配置文件,写入以下代码。
341 0
|
Web App开发 算法 安全
一文带你了解Nginx基础知识 | 建议收藏 下
一文带你了解Nginx基础知识 | 建议收藏 下
150 0
|
缓存 算法 安全
一文带你了解Nginx基础知识 | 建议收藏 中
一文带你了解Nginx基础知识 | 建议收藏 中
148 0
一文带你了解Nginx基础知识 | 建议收藏   中
|
tengine NoSQL Unix
一文带你了解Nginx基础知识 | 建议收藏 上
一文带你了解Nginx基础知识 | 建议收藏 上
159 0
|
负载均衡 前端开发 Ubuntu
服务器端知识库nginx基础知识篇
随着spa架构的普及,在日常开发中无论对于前端还是服务端的开发都带来了很大的便利,前端同学也能接触到更多的知识,其中前端的服务部署也慢慢转移到了前端开发中。而目前最常用的前端服务部署方案便是nginx代理服务器。