Nginx服务器部署SSL证书

SSL证书也称为服务器证书,是遵守全球统一的严格身份认证的SSL协议的一种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发。将SSL证书安装在网站服务器上,可实现网站身份验证和数据加密传输双重功能。用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。安装SSL证书后,使用Https协议加密访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改钓鱼欺诈网站泛滥。 同时,网站部署全球信任的SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。

生成证书请求

  • 01

    安装OpenSSL工具 您需要使用Openssl工具来创建证书请求。安装OpenSSL到C:\OpenSSL; 安装完后将C:\OpenSSL\bin目录下的openssl.cfg重命名为openssl.cnf

  • 02

    生成服务器证书私钥 命令行进入C:\OpenSSL\bin,生成证书私钥。产生的私钥文件可以是server.key这样简单的命名或者使用我们推荐的使用主机域名方式进行命名。 cd c:\OpenSSL\bin 先设置环境变量 set OPENSSL_CONF=openssl.cnf 参考: openssl genrsa -out server.key 2048 例: 输入命令:openssl genrsa -out D:\testweb.95105813.cn.key 2048

  • 03

    生成服务器证书请求(CSR)文件 参考: openssl req -new -key server.key -out certreq.csr 例: 输入命令:openssl req -new -key D:\testweb.95105813.cn.key -out D:\certreq.csr 如出现以下报错请先设置环境变量 set OPENSSL_CONF=openssl.cnf

  • 04

    执行成功后提示要输入您的相关信息。填写说明: 1.Country Name: 填您所在国家的ISO标准代号,如中国为CN,美国为US 2.State or Province Name: 填您单位所在地省/自治区/直辖市,如广东省或 Guangdong 3.Locality Name: 填您单位所在地的市/县/区,如佛山市或Foshan 4.Organization Name: 填您单位/机构/企业合法的名称,如广东数字证书认证中心有限公司或Guangdong Certification Authority Co.,Ltd. 5.Organizational Unit Name: 填:部门名称,如技术支持部或Technical support 6.Common Name: 域名,如:testweb.95105813.cn。在多个域名时,填主域名 7.Email Address: 填您的邮件地址,不必输入,按回车跳过 8.‘extra’attributes 从信息开始的都不需要填写,按回车跳过直至命令执行完毕。

  • 05

    除第1、6、7、8项外,2-5的信息填写请统一使用中文或者英文填写。并确保您填写的所有内容和您提交到颁发单位的资料一致,以保证SSL证书的签发。

服务器证书的导入

  • 01

    SSL证书获取 申请提交后通过颁发单位的审核后会颁发给你证书,根据颁发单位的不同,需要使用的根证书和CA证书也不相同。一般颁发单位在颁发证书的时候都会将根证书、CA证书、服务器证书一起发邮件给你,GDCA的证书也可以通过他们官网下载根证书和CA证书。

  • 02

    转换证书编码 从官网上下载的证书需要先转换为Base64编码格式。以根证书为例: 打开证书,详细信息-复制到文件,在证书导出向导里,将证书编码改成Base64编码格式,导出到指定目录里。

  • 03

    转换成Base64编码格式后,用文本编辑器打开,可以看到文件内容是以-----BEGIN CERTIFICATE-----开头,-----END CERTIFICATE-----结尾。以同样方式将CA证书也转换成Base64编码格式。

  • 04

    导入根证书和CA证书到服务器证书 然后将用文本编辑器打开您的服务器证书、CA证书和根证书,将CA证书和根证书都加入到您的服务器证书文件里,将文件保存为testweb.95105813.cn.crt。文件里证书的保存顺序是 服务器证书-CA证书-根证书: 例: testweb.95105813.cn.crt

部署服务器证书

  • 01

    配置给nginx服务器本机使用 打开nginx安装目录下conf目录中的nginx.conf文件,找到被注释掉的server 配置,进行修改:

  • 02

    server { listen       443 ssl; server_name  localhost; ssl_certificate /usr/local/nginx/conf/testweb.95105813.cn.crt; ssl_certificate_key  /usr/local/nginx/conf/testweb.95105813.cn.key; ssl_protocols  TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache    shared:SSL:1m; ssl_session_timeout  5m; ssl_ciphers  HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers  on; location / { root   html; index  index.html index.htm; } } 把服务器证书testweb.95105813.cn.crt和私钥testweb.95105813.cn.key上传到配置文件指向的目录/usr/local/nginx/conf/ 保存退出,并重新加载nginx配置nginx -s reload后通过https方式访问您的站点,测试站点证书的安装配置。

  • 03

    使用nginx作为反向代理 Nginx常被用作反向代理服务器使用。以下是配置示例: 在 /usr/local/nginx目录下创建servers和ssls目录 mkdir ssls mkdir servers 把服务器证书testweb.95105813.cn.crt及其私钥testweb.95105813.cn.key上传到ssls目录下。在servers目录创建服务器testweb.95105813.cn的配置文件testweb.95105813.cn.conf: server{ listen       443; server_name  testweb.95105813.cn; ssl                  on; ssl_certificate      /usr/local/nginx/ssls/testweb.95105813.cn.crt; ssl_certificate_key  /usr/local/nginx/ssls/testweb.95105813.cn.key; ssl_protocols  TLSv1 TLSv1.1 TLSv1.2; location /{ proxy_pass https://192.168.100.13:8002; #后端的web服务器 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; fastcgi_param HTTPS $https if_not_empty; proxy_set_header X-Forwarded-Proto https; } error_page   500 502 503 504  /50x.html; error_page 400  https://$host$uri?$args; location = /50x.html { root   html; } } 打开nginx安装目录下conf目录中的nginx.conf文件,加入: include /usr/local/nginx/servers/testweb.95105813.cn.conf

  • 04

    保存退出,并重新加载nginx配置nginx -s reload,通过https方式访问您的站点,测试站点证书的安装配置。

(0)

相关推荐

  • Weblogic服务器部署SSL证书

    SSL证书也称为服务器证书,是遵守全球统一的严格身份认证的SSL协议的一种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发.将SSL证书安装在网站服务器上,可实现网站身份验证和数据加密传 ...

  • 网站部署SSL证书出现异常有哪些原因?

    部署安装ssl证书后,有时可能会存在一些问题,比如ssl连接错误,或者是域名与网站地址不一致等.这些都是ssl证书常见的一些异常情况,其实这些问题都是有解决办法的,下面我们对网站SSL证书部署出现异常 ...

  • 发生ssl错误无法与服务器(ssl证书异常导致访问失败)

    一.概述:客户提交一个证书给我,让帮忙把网站域名都改为HTTPS,但是修改配置完成后,确出现如下错误.[root@localhost ssl]# /usr/local/nginx/sbin/nginx ...

  • ssl证书是什么东西(网站ssl证书有什么用)

    在浏览网站的时候,你会有这样的疑惑吗?为什么有些网站网址开头是http,而有些则是https?经常访问网站,浏览器突然提醒"安全证书过期",那您要不要访问该网站?这一切,都是SSL ...

  • ssl证书不安全(ssl证书不受信任)

    部署SSL证书是为了对数据进行加密传输,保护数据在传输过程中不被监听.截取和篡改以及验证网站身份,防止受到钓鱼网站的攻击.由于http纯文本方式传输缺乏安全性,谷歌等主流浏览器会对没有安装SSL证书的 ...

  • ssl证书下载失败怎么解决(ssl证书验证失败是什么意思)

    SSL证书的重要性想必不少站长用户都知道,在正规权威的CA颁发机构申请SSL证书厚,完成SSL证书购买和审核环节,就可以将证书下载部署在服务器上.很多用户反馈,为什么总显示下载失败?下面随安信小编来看 ...

  • ssl证书是什么东西(ssl证书有必要吗)

    有一些公司或者个人出于成本的考虑,会选择使用自签名SSL证书,即不受信任的任意机构或个人,使用工具自己签发的SSL证书.这绝对是得不偿失的重大决策失误,自签证书普遍存在严重的安全漏洞,极易受到攻击.一 ...

  • 网站ssl证书有什么用(没有ssl证书会怎样)

    网络劫持被攻击时常有发生,打开正确的网站被跳转到另一个网站真的非常不安全!那该如何是好呢?SSL证书来帮忙!安装SSL证书可以保证网站的信息从用户浏览器到服务器之间是高强度加密传输的,可以防止信息被窃 ...

  • ssl证书有必要吗(ssl证书怎么弄)

    目前,全世界大多数的站点都主动部署了SSL证书,若没有SSL证书会怎样?以前网站所使用的传输协议为HTTP,HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网 ...