HTTPS相关的一些基本概念及HTTPS Nginx的部署

1. 什么是数字证书?

数字证书是一个经权威授权机构数字签名、包含公开密钥拥有者信息以及公开密钥的文件,是权威机构颁发给网站的可信凭证。最简单的证书包含一个公开密钥、证书名称以及证书授权中心的数字签名。

2. 什么是SSL?

SSL协议是一种可实现网络通信加密的安全协议,可在浏览器和网站之间建立加密通道,保障数据在传输的过程中不被篡改或窃取。

3. 什么是SSL证书?

SSL证书采用SSL协议进行通信,是由权威机构颁发给网站的可信凭证。

SSL证书采用SSL协议进行通信。SSL证书部署到Web服务器后,Web服务器访问将启用HTTPS协议。您的网站将会通过 HTTPS 加密协议来传输数据,可帮助Web服务器和网站间建立可信的加密链接,从而保证网络数据传输的安全。

4. 什么是HTTPS?

HTTPS是一种基于SSL协议的网站加密传输协议。

网站安装SSL证书后,使用HTTPS加密协议访问,可激活客户端浏览器到网站服务器之间的SSL加密通道(SSL协议),从而实现高强度双向加密传输,防止传输数据被泄露或篡改。HTTPS 也就是HTTP + SSL,是HTTP的安全版。

5. 什么是CA认证中心?

CA认证中心(CA机构),即证书授权中心(Certificate Authority),或称证书授权机构。

CA认证中心作为电子商务交易中受信任的第三方,承担公钥体系中公钥合法性检验的责任。

6. SSL证书类型配置表

根据不同的验证级别,分为三类:域名型SSL(DV SSL)企业型SSL(OV SSL)增强型SSL(EV SSL)

根据保护域名的数量需求,又分为:单域名版(只保护一个域名,如www.123.com或login.123.com的单个域名)、多域名版(一个证书可以包含多个域名,如同时保护www.123.com和login.123.com)和通配符版(一张证书保护同一个主域名下同一级的所有子域名,不限个数)。

域名型SSL,只验证域名所有权,只提供通信链路加密功能。

企业型SSL,验证域名所有权和申请单位的真实身份,解决在线信任问题;证书中显示申请者的企业单位名称,让访问用户安心使用;提供高强度通信链路加密功能。

增强型SSL,严格验证域名所有权和申请单位的真实身份;证书在大部分浏览器中能显示绿色地址栏(部分证书在Safari浏览器中不显示),有效解决在线信任和网站被假冒问题;证书中详细显示申请者的企业单位信息,让访问用户安心使用。

注意,通配符版只有 DVSSL 和 OVSSL 具有, EVSSL 不具有通配符版本。

7. 证书品牌(CA供应商)

Symantec:赛门铁克(Symantec)是全球第一大数字证书颁发机构、全球最值得信赖的SSL证书品牌,所有证书都采用业界领先的加密技术,为不同的网站和服务器提供安全解决方案。

CFCA: 中国金融认证中心(CFCA)通过国际WebTrust认证,遵循全球统一鉴证标准,是国际CA浏览器联盟组织成员。CFCA全球信任SSL证书,由中国权威数字证书认证机构自主研发,纯国产证书。

GeoTrust: GeoTrust 是全球第二大数字证书颁发机构, 也是身份认证和信任认证领域的领导者,采用各种先进的技术使任何大小的机构和公司都能安全、低成本地部署SSL数字证书和实现各种身份认证。

GlobalSign: GMO GlobalSign是全球最早的数字证书认证机构之一,一直致力于网络安全认证及数字证书服务,是一个备受信赖的CA和SSL数字证书提供商。

8. 证书类型

免费型DV SSL: 免费型DV SSL证书是基础级SSL产品。

通配符DV SSL:通配符DV SSL证书属于DV型SSL证书(Domain Validation SSL)。

专业版OV SSL: 专业版OV SSL证书属于OV型SSL证书(Organization Validation SSL)。

高级版EV SSL:高级版EV SSL证书属于EV型SSL证书(Extended Validation SSL)。

9. HTTPS Nginx部署

  • 以centos 6.8 64位为例,下载nginx.tar.gz,解压后进入nginx目录,./configure --with-http_ssl_module,将ssl模块编译进来
  • 将SSL证书下载下来,针对Nginx服务器的是xxx.pem和xxx.key文件,上传到centos服务器
  • nginx编译完成并安装到默认路径(/usr/local/nginx)后,来到/usr/local/nginx/conf文件夹下,创建certs文件夹,将xxx.pem和xxx.key拷贝到certs文件夹下
  • 在conf文件夹下再创建vhost文件夹,并在nginx.conf文件中添加include /usr/local/nginx/conf/vhost/*.conf;
  • 在vhost文件夹下,创建xxx.com.conf文件,其中xxx代表域名,容易辨识和修改,每个域名对应一个.conf文件
  • 在对应的.conf文件中,添加如下代码:
server {
    listen 80 default_server;
    server_name www.xxx.com;
    return 302 https://$server_name$request_uri;
}

上面这段代码用来从http跳转到https。

server {
    listen 443;
    autoindex on;
    server_name www.xxx.com;
    access_log /usr/local/nginx/logs/access.log combined;
    index index.html index.htm index.jsp index.php;

    #ssl
    ssl on;
    ssl_certificate_key certs/www.xxx.com.key;
    ssl_certificate certs/www.xxx.pem;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-HA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
}

上面这段代码用来打开ssl,重启nginx之后,可以使用https访问网站了,并且通过http访问后,直接跳转到https。

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值