请选择 进入手机版 | 继续访问电脑版

巅峰霸主

 找回密码
 立即注册

QQ登录

只需一步,快速开始

[服务器] nginx部署ssl证书生成csr证书CA服务器证书安装实现https访问

[复制链接] [添加相关主题]
godkings 发表于 2019-5-27 20:14:03 | 显示全部楼层 |阅读模式
阿里云服务器2折起!

游客只能显示部分内容,请登录后查看帖子完整内容!!!注册完全免费。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
nginx部署ssl证书方法,生成csr证书请求文件代码,ca服务器证书下载及安装实现网站https访问。首先下载并安装Openssl工具,下载地址是:http://slproweb.com/products/Win32OpenSSL.html
二、制作CSR申请文件

1、 产生证书私钥和证书请求文件(CSR)

Openssl工具安装成功后,点击"开始"菜单,在"运行"一栏输入"cmd",然后点击"确定",进入openssl目录:

  1. openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr
复制代码


在完成了如上的交互信息输入后,当前目录下将产生两个文件:server.key 和 server.csr。请妥善保存这两个文件,请不要泄露server.key私钥文件。

2、 详细介绍命令:

Country Name (2 letter code):使用国际标准组织(ISO)国码格式,填写2个字母的国家代号。中国请填写CN。

State or Province Name (full name):省份,比如填Guangdong

Locality Name (eg, city):城市,比如填写Shenzhen

Organization Name (eg, company):组织单位,比如填写公司名称的拼音

Organizational Unit Name (eg, section):比如填写IT Dept

Common Name(eg, your websites domain name):行使 SSL 加密的网站地址。请注意这里并不是单指您的域名,而是直接使用 SSL 的网站名称 。

Email Address:邮件地址,可以不填

A challenge password:可以不填

An optional company name:可以不填

3、 提交CSR 到您申请的ssl证书商那里

保管好server.key私钥文件,提交CSR给证书商等待证书签发 。

三、安装证书文件

1、 获取证书的公钥

您会收到一封来自证书商的邮件,证书内容附在邮件中。请将邮件中的证书部分的内容Notepad存成一个纯文本文件,并确定证书内容中不含有空行和空格,文件名可以为server.cer

2、 获取中间证书

不同的SSL证书对应不同中级根证书格式文件,请到您购买证书的网站下载。

3、 合并证书公钥

请用Notepad打开中间证书,并复制中间证书中的所有内容,粘贴到Server.cer文件最后,再次保存好server.cer文件,并将此文件和制作CSR时候生成的server.key一起复制到服务器上。

4、 修改nginx.conf文件

Nginx的参数配置都在nginx.conf文件中,SSL配置也是如此,下面就是配置举例:

server {

         listen               443;

         server_name          www.dfbazhu.com;

         ssl                  on;

         ssl_certificate      server.cer;

         ssl_certificate_key  server.key;

         }

5、 配置参数说明如下:

listen 443:SSL协议监听的端口,SSL协议缺省使用443端口。

server_name:指定SSL网站主机名。

ssl on:SSL功能打开,采用SSL通信协议。

ssl_certificate:证书文件,server.cer

ssl_certificate_key:私钥文件,server.key

ssl_protocols:支持的SSL协议标准。

6、 其他缺省值修改

1. ssl_protocols SSLv2 SSLv3 TLSv1; 应该修改为:ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

2. ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

应该修改为:

ssl_ciphers ALL:!ADH:!EXPORT56:-RC4+RSA:+HIGH:+MEDIUM:-EXP;

7、 重新启动nginx 。

四、证书的备份和证书的导入

1、 备份

在Nginx下的证书备份是非常简单的,打开nginx.conf文件,找到ssl_certificate和ssl_certificate_key指定的2个文件,通常是.cer(.crt)和.key文件,将这两个文件复制到备份媒质上即可。

2、 导入

要恢复Nginx的证书同样非常简单,将备份的.cer和.key文件,复制到新的服务器上,然后参考上面服务器证书安装说明,修改nginx.conf文件即可。

五、客户端证书认证

1、 修改nginx.conf文件

如果要求客户采用客户证书认证方式,可以在原来的配置下增加如下参数:

server {

        ......

        ......

        ......

        ssl_verify_client      on

        ssl_client_certificate      ca.cer

        ssl_verify_depth            1

}

2、 配置参数说明

ssl_verify_client on: 要求SSL客户证书认证。

ssl_client_certificate ca.cer: 签发客户证书的CA证书,用来验证客户证书。

ssl on:SSL 功能打开,采用SSL通信协议。

ssl_verify_depth 1: SSL客户证书认证链长度。

六、常见问题

1、 如何产生2048位的密钥对?

在上面的命令行交互中,我们看到"Generating a 1024 bit RSA private key",即系统缺省采用1024位的RSA密钥长度,但我们必须采用2048位的密钥长度,要生成2048位的密钥,可以修改上面的命令行:(斜体部分为增加的参数)

openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr

2、 如何制作中文的CSR文件

Openssl本身是可以支持UTF-8编码来支持中文的,但是如果通过DOS命令行是无法输入UTF-8的中文字符的,所以我们必须采用Opnessl.cnf配置文件的缺省值来实现中文字的输入。采用一个文本编辑器支持utf-8字符的,我采用UltraEdit,打开Openssl.cnf文件,首先修改:

string_mask = utf8only

这句话将强制字符的输入采用UTF-8的编码格式,然后修改缺省DN信息,录入我们需要合中文字符,如下

commonName_default = www.dfbazhu.com

0.organizationName_default = 沃通电子认证服务有限公司

organizationalUnitName_default = 技术部

stateOrProvinceName_default = 广东省

localityName_default = 深圳市

countryName_default = CN

然后将文件按utf-8,no bom的编码格式保存,在Ultraedit下,请选择"另存为",格式为"UTF-8 - NO-BOM"。如果没有可以支持UTF-8的编辑工具,也可以下载一个ICONV来做编码转换工作。

准备好openss.cnf文件后,输入命令行:

openssl req -utf8 -config config.cnf -new -nodes -batch -keyout server.key -out server.csr

系统将自动生成CSR文件,保存在server.csr中。
<
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|巅峰霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与巅峰霸主网无关。

禁止在巅峰霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2019-8-20 05:27 , Processed in 0.072983 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表