Nginx -- SSL模块

 

目录

一、什么是ssl证书

二、证书的作用

1.浏览器绿色安全标志

2.网站数据加密传输

3.安全标志获得访客信任

4.强大的加密等级保障

 5.SSL证书帮助网站保护了用户和网站之间的任何数据的安全

三、SSL证书的类别

1.按照验证方式

2.按照一张SSL证书保护的域名数

3.按照 SSL证书的签发机构分类

四、SSL证书的使用成本

1、免费SSL证书

2、基础版的 DV SSL证书

3、企业版 OV SSL证书

4、扩展验证的 EV SSL证书

五、HTTPS注意事项

六、获取证书和密钥

关闭防火墙,关闭核心防护

 安装或更新  openssl

创建一个存放证书的文件并到目录下

 证书颁发机构,创建私钥    (本机当的CA)

 生成证书,去掉私钥的密码

 七、配置ssl模块

到nginx安装目录下添加ssl模块

编译安装

 关闭服务

 查看安装的模块(有没有SSL模块)

编辑配置文件

 创建网页文档,配置nginx时指向这这个文档路径

 访问的机器添加地址映射

重启服务

rewrite地址重写(http重定向到https)


在这里插入图片描述

 

一、什么是ssl证书

        SSL证书是数字证书的一种,由权威数字证书机构(CA)验证网站身份后颁发,可实现浏览器和网站服务器数据传输加密。网站安装SSL证书后会在浏览器显示安全锁标志,数据传输协议从http(传统协议) 升级为 https(加密协议)。

HTTPS并非新协议,相比于HTTP只是多了个S,表示Secure安全

安全的原理是基于HTTP+TCL/SSL协议组合实现的,所以HTTP和HTTPS的主要区别本质在于TCL/SSL安全协议上的区别

HTTPS是一种安全的协议,通过密钥交换算法 - 签名算法 - 对称加密算法 - 摘要算法确保安全

HTTPS默认443端口

Nginx -- SSL模块_第1张图片

 Nginx -- SSL模块_第2张图片

二、证书的作用

1.浏览器绿色安全标志

各大主流浏览器的重视,对没有安装SSL证书的网站提示“不安全”,安装了SSL证书的网站浏览器会显示绿色安全标志,表示连接安全。

2.网站数据加密传输

安装SSL证书之后,网站会从升级为 https(加密协议)。可加密保护网站的所有数据信息,保护访客注册登录,在线交易等信息数据,这对于电商、金融、政府、企业等网站至关重要。

小程序、抖音等平台对于合作的网址有相关的要求,即需要使用 https 链接。

3.安全标志获得访客信任

OV SSL证书可验证申请组织的真实身份,可在证书详情里查看申请企业。高级EV SSL证书还可在浏览器地址栏显示绿色企业名称,可加深访客对网站的信任,浏览使用更加放心。

4.强大的加密等级保障

SSL证书之所以能够进行数据加密,和它的2048位加密技术是分不开的,时刻保护这敏感数据不被窃取、泄露。     满足“等保”等相关政策对网站的安全要求。

OV 和 EV 证书除了安全加密之外,其实还有对网站管理者身份的验证,这个验证会体现在 SSL证书的字段中。而 EV 级别的 SSL证书甚至可以在某些版本的浏览器中直接显示单位名称。这一定程度帮助网站运营者确定了其“官方身份”,有助于帮助其用户识别真假网站。

 5.SSL证书帮助网站保护了用户和网站之间的任何数据的安全

最重要的一点SSL证书帮助网站保护了用户和网站之间的任何数据的安全。如果没有SSL证书,用户在网站上的任何信息交互都将处于明文传输的状态,这其实上非常可怕的。也正因为如此,作为展示网站的浏览器,在推动SSL证书的普及上非常积极,甚至对没有SSL证书的网站在打开的时候进行了安全拦截

三、SSL证书的类别

1.按照验证方式

        SSL证书可以分为 DV、OV、EV 三种,这三种SSL证书的验证严格程度依次递增。

DV SSL证书,验证简单,几分钟内即可签发,适合个人站点、小微企业、api 加密等,但这种证书只能实现 https 最基本的加密功能;

OV SSL证书,验证域名和网站背后的运营者单位,除了加强了网站的安全性之外,还让网站运营者身份得到了确认;

EV SSL证书,这种证书在 OV 的基础上验证更为全面,因此某些浏览器版本在地址栏上直接显示单位名称,因为这种显示形式,很多金融类、企业官网等网站都在使用这种类型的SSL证书。

2.按照一张SSL证书保护的域名数

        SSL证书可以分为单域名、多域名、通配符类型。但随着产品的不断优化,在颁发机构,大多数SSL证书都实现 Flex 模式,即在一张证书里面,您可以随意添加多个域名、通配符域名、甚至 IP 地址。

3.按照 SSL证书的签发机构分类

        可以分国产和进口。实事求是的说,咱们国产SSL证书的兼容性跟进口的SSL证书还是有差距,但这种差距正在逐渐缩小。从沃通CA的销售情况来看,近几年来申请国产的SSL证书也在逐渐增加,但申请国外品牌SSL证书的单位数量还是占有绝大部分。

四、SSL证书的使用成本

1、免费SSL证书

        这类证书建议适合一些流量不大的个人博客之类的站点。近几年发生过多起免费SSL证书被大规模吊销事件,相关资讯可以网上搜索一下,除此之外,免费的SSL证书更不会与您签合同,以及提供及时的技术支持,您还需要考虑SSL证书的响应速度、兼容性等。因此,如果您是单位正式的在线业务,谨慎使用免费SSL证书,毕竟出现问题后背锅是件很难受的事。

2、基础版的 DV SSL证书

        这类证书的成本区间在每年 100-1000 左右,这种成本相比单位其他的开支,其实不值一提。这种证书适用于一些后台的 API 之类的安全连接。

3、企业版 OV SSL证书

        证书根据品牌的不同,大概的成本在每年 1000 以上。

4、扩展验证的 EV SSL证书

        这类证书根据品牌的不同,大概的成本在每年 2000 以上。

五、HTTPS注意事项

  • https仅支持二级域名
  • https不支持续费,证书到期重新申请替换
  • https显示绿色,说明整个网站都是https的
  • https显示黄色,网站代码中包含https不安全链接
  • https显示红色,证书不认或过期

六、获取证书和密钥

关闭防火墙,关闭核心防护

 安装或更新  openssl

yum install -y openssl

Nginx -- SSL模块_第3张图片

创建一个存放证书的文件并到目录下

mkdir -p /etc/nginx/ssl_key

cd /etc/nginx/ssl_key/

 证书颁发机构,创建私钥    (本机当的CA)

openssl genrsa -idea -out server.key 2048

        2048 是代表位数 位数越多越安全 常见的有 2048、4096

Nginx -- SSL模块_第4张图片

 生成证书,去掉私钥的密码

openssl req -days 3650 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt

        req 表示证书输出的请求

        -days 3650 时间=10 年

         -x509 签发x509格式证书命令

        -newkey  此选项创建一个新的证书请求和一个新的私钥。 该参数采用以下几种形式之 一。 rsa:nbits (其中nbits是位数)会生成nbits大小的RSA密钥

         -key密钥

          -new表示新的请求

          -out输出路径

Nginx -- SSL模块_第5张图片

 七、配置ssl模块

到nginx安装目录下添加ssl模块

        (这里把监控模块一起添加了)

 cd /opt/nginx-1.15.9/

./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx-module-vts-master/ --prefix=/usr/local/nginx --with-http_ssl_module

Nginx -- SSL模块_第6张图片

编译安装

 注意:这里切记千万不要执行make install 否则就把原来安装的Nginx所有文件都覆盖掉了

make

Nginx -- SSL模块_第7张图片

 关闭服务

然后用源码包中刚刚编译好的的Nginx把安装目录中的Nginx替换掉

systemctl stop nginx

cp ./objs/nginx /usr/local/nginx/sbin/

 查看安装的模块(有没有SSL模块)

        nginx -V

编辑配置文件

 vim /usr/local/nginx/conf/nginx.conf

添加内容:(注意位置)

server {
        listen 443 ssl;
        server_name www.wxj.com;
        ssl_certificate /etc/nginx/ssl_key/server.crt;
        ssl_certificate_key /etc/nginx/ssl_key/server.key;

        location / {
                root /https-wxj;
                index index.html;
        }
}

Nginx -- SSL模块_第8张图片

 创建网页文档,配置nginx时指向这这个文档路径

 cd /

mkdir https-wxj

echo "

this is https wxj

" > /https-wxj/index.html

 访问的机器添加地址映射

#我这里用自己的物理机访问,物理机设置地址映射

        #win 10 改hosts配置路径:C:\WINDOWS\System32\drivers\etc
        #首次修改需要修改权限
        #属性——》安全——》高级——》更改为所有权限

Nginx -- SSL模块_第9张图片

重启服务

访问  https://www.wxj.com

 (因为我们是内网环境,证书不被信任,所以还是不安全的状态)

 生产环境中可以去ssl机构买证书

Nginx -- SSL模块_第10张图片

rewrite地址重写(http重定向到https)

vim /usr/local/nginx/conf/nginx.conf

         修改80端口

Nginx -- SSL模块_第11张图片

 重启,测试访问    (http://www.wxj.com)

Nginx -- SSL模块_第12张图片

你可能感兴趣的:(ssl,nginx,https)