HTTPS证书本地生成和在nginx上的部署细节
2017-02-07 14:16
441 查看
这几天摸索了下 HTTPS 的证书生成,以及它在 Nginx 上的部署,搞得头晕脑胀。所以记录下下,方便初学者快捷操作。本文的阐述不一定完善,但是可以让一个初学者了解大致的原理,同时跟着操作可以为自己的博客/网站部署一个 HTTPS 证书。
首先,https证书的生成
第一步:
证书前的准备
下载openssl工具,证书的生成需要这个工具。OpenSSL加密证书一般用于签名认证,含私钥和公钥。在Linux系统中,OpenSSL一般是已经安装好了,可以直接使用。而在Windows系统中,是需要安装使用的。
windows下OpenSSL加密证书安装步骤与使用方法参考文档:http://jingyan.baidu.com/article/37bce2be782daa1003f3a247.html
敲黑板,做笔记:必须要管理员命令运行,不然ca的证书文件时出现问题:Unable to write ‘random state’
第二步:
接着,生成 CA 证书
在CA 证书执行命令第二步时会出现:
注意,这里的
然后
最后,生成服务器端证书证书
# 服务器端需要向 CA 机构申请签名证书,在申请签名证书之前依然是创建自己的 CSR 文件openssl req -new -key server.key -out server.csr# 向自己的 CA 机构申请证书,签名过程需要 CA 的证书和私钥参与,最终颁发一个带有 CA 签名的证书openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.c
ps:因为命令是在openssl/bin下执行的,所以生成的证书也在这里
第三步,
nginx的安装和配置:
安装教程自己百度,略
检查是否安装成功,点击图中的圈圈就启动了nginx服务器,在浏览器地址栏输入localhost,正常情况下能看到图二的欢迎界面
接着,配置nginx。配置文件位置
具体配置如下:
大功告成,欢迎斧正,qq1106450575
首先,https证书的生成
第一步:
证书前的准备
下载openssl工具,证书的生成需要这个工具。OpenSSL加密证书一般用于签名认证,含私钥和公钥。在Linux系统中,OpenSSL一般是已经安装好了,可以直接使用。而在Windows系统中,是需要安装使用的。
windows下OpenSSL加密证书安装步骤与使用方法参考文档:http://jingyan.baidu.com/article/37bce2be782daa1003f3a247.html
敲黑板,做笔记:必须要管理员命令运行,不然ca的证书文件时出现问题:Unable to write ‘random state’
第二步:
生成密钥、证书
为服务器端准备公钥、私钥,如下图:# 生成服务器端私钥openssl genrsa -out server.key 1024# 生成服务器端公钥openssl rsa -in server.key -pubout -out server.pem |
# 生成 CA 私钥openssl genrsa -out ca.key 1024# X.509 Certificate Signing Request (CSR) Management.openssl req -new -key ca.key -out ca.csr# X.509 Certificate Data Management.openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt |
➜ keys openssl req -new -key ca.key -out ca.csrYou are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:CNState or Province Name (full name) [Some-State]:ZhejiangLocality Name (eg, city) []:HangzhouOrganization Name (eg, company) [Internet Widgits Pty Ltd]:My CAOrganizational Unit Name (eg, section) []:Common Name (e.g. server FQDN or YOUR name) []:localhostEmail Address []: |
Organization Name (eg, company) [Internet Widgits Pty Ltd]:后面生成客户端和服务器端证书的时候也需要填写,不要写成一样的!!!可以随意写如:My CA, My Server, My Client。
然后
Common Name (e.g. server FQDN or YOUR name) []:这一项,是最后可以访问的域名,我这里为了方便测试,写成
localhost,如果是为了给自己的网站生成证书,需要写成类似
baidu.com。
最后,生成服务器端证书证书
# 服务器端需要向 CA 机构申请签名证书,在申请签名证书之前依然是创建自己的 CSR 文件openssl req -new -key server.key -out server.csr# 向自己的 CA 机构申请证书,签名过程需要 CA 的证书和私钥参与,最终颁发一个带有 CA 签名的证书openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.c
ps:因为命令是在openssl/bin下执行的,所以生成的证书也在这里
第三步,
nginx的安装和配置:
安装教程自己百度,略
检查是否安装成功,点击图中的圈圈就启动了nginx服务器,在浏览器地址栏输入localhost,正常情况下能看到图二的欢迎界面
接着,配置nginx。配置文件位置
具体配置如下:
大功告成,欢迎斧正,qq1106450575
相关文章推荐
- HTTPS证书生成原理和部署细节
- HTTPS证书生成原理和部署细节
- [svc]HTTPS证书生成原理和部署细节
- HTTPS证书生成原理、HTTPS安装部署细节介绍
- HTTPS证书生成原理和部署细节
- HTTPS证书生成原理和部署细节
- HTTPS证书生成原理和部署细节
- HTTPS证书生成原理和部署细节
- HTTPS证书生成原理和部署细节
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP
- 生成本地测试用https证书,支持通配符和多域名,初学OpenSSL
- Nginx https证书部署
- Nginx基础知识————生成自签名ca 证书 使nginx 支持https
- HTTPS证书生成,Nginx + Tomcat 配置HTTPS
- Nginx配置SSL证书部署HTTPS网站(颁发证书)
- 自己生成nginx的https证书
- Windows下Nginx配置SSL实现Https访问(包含证书生成)