Nginx服务器部署SSL证书
http://jingyan.baidu.com/article/154b463178eac928ca8f41a9.html
SSL证书也称为服务器证书,是遵守全球统一的严格身份认证的SSL协议的一种数字证书,由全球信任的证书颁发机构(CA)验证服务器身份后颁发。将SSL证书安装在网站服务器上,可实现网站身份验证和数据加密传输双重功能。用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。安装SSL证书后,使用Https协议加密访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改钓鱼欺诈网站泛滥。 同时,网站部署全球信任的SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。
工具/原料
- 本次部署使用的GDCA恒信(EV)SSL测试证书进行部署操作。
- 制作证书请求文件的工作环境,需要先安装好OPENSSL工具
生成证书请求
- 1
安装OpenSSL工具
您需要使用Openssl工具来创建证书请求。安装OpenSSL到C:\OpenSSL;
安装完后将C:\OpenSSL\bin目录下的openssl.cfg重命名为openssl.cnf
- 2
生成服务器证书私钥
命令行进入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
- 3
生成服务器证书请求(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
- 4
执行成功后提示要输入您的相关信息。填写说明:
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
从信息开始的都不需要填写,按回车跳过直至命令执行完毕。
- 5
除第1、6、7、8项外,2-5的信息填写请统一使用中文或者英文填写。并确保您填写的所有内容和您提交到颁发单位的资料一致,以保证SSL证书的签发。
END
服务器证书的导入
- 1
SSL证书获取
申请提交后通过颁发单位的审核后会颁发给你证书,根据颁发单位的不同,需要使用的根证书和CA证书也不相同。一般颁发单位在颁发证书的时候都会将根证书、CA证书、服务器证书一起发邮件给你,GDCA的证书也可以通过他们官网下载根证书和CA证书。
- 2
转换证书编码
从官网上下载的证书需要先转换为Base64编码格式。以根证书为例:
打开证书,详细信息-复制到文件,在证书导出向导里,将证书编码改成Base64编码格式,导出到指定目录里。
- 3
转换成Base64编码格式后,用文本编辑器打开,可以看到文件内容是以-----BEGIN CERTIFICATE-----开头,-----END CERTIFICATE-----结尾。以同样方式将CA证书也转换成Base64编码格式。
- 4
导入根证书和CA证书到服务器证书
然后将用文本编辑器打开您的服务器证书、CA证书和根证书,将CA证书和根证书都加入到您的服务器证书文件里,将文件保存为testweb.95105813.cn.crt。文件里证书的保存顺序是 服务器证书-CA证书-根证书:
例: testweb.95105813.cn.crt
END
部署服务器证书
配置给nginx服务器本机使用
打开nginx安装目录下conf目录中的nginx.conf文件,找到被注释掉的server 配置,进行修改:
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方式访问您的站点,测试站点证书的安装配置。
使用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
- 4
保存退出,并重新加载nginx配置nginx -s reload,通过https方式访问您的站点,测试站点证书的安装配置。
Nginx服务器部署SSL证书相关推荐
- 在不禁用iis的情况下停止其对443端口的禁用(由于443端口被占用宝塔nginx服务器添加ssl证书失败,又不能停止iis服务的解决办法)
在不禁用iis的情况下停止其对443端口的禁用(由于443端口被占用宝塔nginx服务器添加ssl证书失败,又不能停止iis服务的解决办法) 1.修改文件 2.重启服务器或iis服务 3.补充 (扩展 ...
- 云服务器部署ssl证书
一.环境 阿里云ecs服务器 linux宝塔界面 ssl证书 nginx web服务器 二.关于ssl证书 1. ssl全称为ecure Sockets Layer 安全套接字协议) 它的作用就是让网 ...
- docker-compose创建nginx并部署ssl证书,阿里云ssl证书
阿里云有免费证书,地址:数字证书管理服务管理控制台 - 概览 (aliyun.com) 免费证书好像要达到什么条件才有,一般域名多肯定有的. 官方基于nginx的教程:在Nginx或Tengine服务 ...
- 服务器部署ssl证书,Apache服务器SSL证书部署
Apache服务器SSL证书部署 发布时间:2018-01-11 18:03:54 摘要 Apache为一款非常常见的web服务器,此文针对在apache上部署和使用SSL证书进行了详细描述. 关键词 ...
- Linux服务器部署ssl证书教程,linux服务器在wdcp面板安装ssl证书教程
不少站长如今越来越在意站内数据传输的安全性,想着把自己建设的网站加密传输,许多站长都需要安装ssl证书,且很多站长都在找寻centos系统服务器linux服务器或者是wdcp面板怎么安装ssl证书,网 ...
- 只有部署 SSL 证书才能保护网上隐私信息安全
只有部署 SSL 证书才能保护网上隐私信息安全 (发布时间:2009-3-18, 2009年第2号,总第68号) UPDATE: 此文内容刊登在<计算机世界>报(2009年04月06日第 ...
- 阿里云轻量服务器 利用宝塔面板 为域名部署SSL证书
除了在Let's Encrypt网站制作服务器SSL证书以外,阿里云上申请SSL证书的步骤更加的简单.以下先给出前者的教程博客,感兴趣的可以移步观看 申请Let's Encrypt永久免费SSL证书_ ...
- 使用阿里云服务器,nginx安装第三方ssl证书
使用阿里云服务器,nginx安装第三方ssl证书 环境 服务器:阿里云ECS 系统:Centos 7 ssl证书:DigiCert 1.准备好证书的证书私钥.证书文件 2.上传至服务器 3. ngin ...
- 阿里云服务器如何部署ssl证书即https的设置,以及为ip部署ssl
文章目录 一.环境 二.关于ssl证书 三.部署ssl 四.如何给ip部署ssl呢? 一.环境 阿里云ecs服务器 linux宝塔界面 ssl证书 nginx web服务器 二.关于ssl证书 1. ...
最新文章
- 数据结构与算法:链表,队列,栈,递归,有序表
- cephfs 挂载 卸载
- imperial college rejection
- android源码编译过程
- 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波2 - 图像反转、对数变换
- [GNU LD系列 3.1]一些基本的链接脚本概念
- 多迪技术总监告诉你:学习Python语言有哪些就业方向?
- Date 当前程序日期格式 参数设置 DecimalSeparator
- (转)UCS vs UTF-8 as Internal String Encoding
- fastboot 使用详解
- js中的this指向问题
- CTS测试中的testSensorOperations项
- Vulkan学习(四):Shader加载 管线设置
- 关于大象,冰箱和软件项目报价的故事
- 如何禁止IE浏览器访问我的网页
- 番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试)
- SQL Server 查询案例
- js判断字符超长度中间用...替换
- 记录IDEA导包不能导入的问题
- MySQL查询满足条件的连续时间段