美文网首页Code
十分钟,为nginx申请免费的SSL支持

十分钟,为nginx申请免费的SSL支持

作者: Jackeroo | 来源:发表于2018-08-21 15:09 被阅读568次

    最近做了一个微信小程序,服务器需要HTTPS支持。于是就部署了一台支持SSL的nginx服务器(免费)。

    网站架设必备之SSL

    一、什么是SSL、TLS和HTTPS?

    SSL是由受信任的数字证书颁发机构 CA(Certificate Authority,在验证服务器身份后颁发的证书。它不但具备验证服务器身份的功能,还是通过加密传输来保证数据安全的必备文件。

    SSL(Secure Sockets Layer, 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。

    如果某个网站受 SSL 证书保护,其相应的 URL 中会显示 HTTPS(超文本传输安全协议)。单击浏览器地址栏的挂锁图标,即可查看证书详细信息,包括颁发机构和网站所有者的公司名称。


    GitHub网站显示的样式

    二、证书颁发机构

    数字证书认证机构,就是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA 机构是独立的,没有相互关系,这些机构都是在webtrust认证审核下成立的。
    目前主流的CA签发机构包括:Symantec、Comodo、GeoTrust、DigiCert、GlobalSign 等。

    三、SSL证书的区别

    除了颁发SSL证书的机构存在区别外,SSL证书本身也存在级别。主要包括以下三种:

    • 域名型SSL证书,简称DV(Domain Validation)
    • 企业型SSL证书,简称OV(Organization Validation)
    • 增强型SSL证书,简称EV(Extended Validation)
    项目 域名型SSL (DV) 企业型SSL (OV) 增强型SSL (EV)
    英文名称 Domain Validation Organization Validation Extended Validation
    审核内容 域名管理权限 域名管理权限;
    企业名称、地址、电话等信息的真实性;
    域名管理权限;
    企业名称、地址、电话等信息的真实性;
    第三方数据库审查,例如邓白氏、114查号台、律师证明信等。
    浏览器地址栏 HTTPS + 小锁标志 HTTPS + 小锁标志 HTTPS 小锁标志 + 绿色地址栏 + 公司名字直显在浏览器地址栏
    一般用途 个人站点;
    iOS应用分发下载;
    登录等单纯https加密需求的链接
    企业网站 企业官网、电商、P2P等互联网金融网站

    OV 和 EV 证书相当昂贵,使用方可以为这些颁发出来的证书买保险,一旦 CA 提供的证书出现问题,一张证书的赔偿金可以达到 100万美元以上。

    四、用CertBot快速为nginx提供免费SSL支持

    对于一般的用户来说,没有必要为SSL证书去支付高昂的费用——我们可以申请免费的用。
    Let's Encrypt就提供了免费的SSL证书,并且借助CertBot工具,我们几分钟就可以把自己的nginx、Apache服务器平滑升级到SSL支持。

    4.1 选择Web服务器和操作系统

    打开 https://certbot.eff.org/ 网站,在“I am using”后选择自己网站使用的Web服务器,我网站用的是nginx, “On”后面选择操作系统,我网站用的是CentOS7。

    选择自己使用的Web服务器和操作系统

    4.2 安装EPEL支持

    在CentOS下,安装EPEL支持:

    sudo yum -y install yum-utils
    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    

    4.3 安装CertBot

    sudo yum install python2-certbot-nginx
    

    4.4 获取签名

    sudo certbot --nginx
    

    4.5 测试

    现在再去访问你的网站,是不是http://直接变成https://了。

    注意
    CertBot为我们安装的免费SSL证书,只有90天期限。在过期之前,我们需要执行以下指令重新获取证书:

    certbot renew
    

    相关文章

      网友评论

        本文标题:十分钟,为nginx申请免费的SSL支持

        本文链接:https://www.haomeiwen.com/subject/gjrpdftx.html