美文网首页
如何给网站安装SSL证书(https)-详解

如何给网站安装SSL证书(https)-详解

作者: 划水的鱼仔 | 来源:发表于2018-12-20 16:31 被阅读0次

    什么是ssl证书?

    SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。

    SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

    为什么要使用ssl证书?

    现在都提倡全站HTTPS,一方面是为了网站安全,另一方面我是一个爱折腾的人,个人博客使用SSL证书还是会让用户感觉更安全,有利于提升用户体验。

    http的风险

    你的网站是否出现过这样的情况:

    在火狐浏览器上显示:


    image

    在谷歌Chrome浏览器上显示:

    image
    普通网站倒是没什么要紧,也丝毫不影响正常使用,但是如果你是购物网站或者是与金融相关、与个人信息相关的网站,用户看到这个不安全提示,会不会有所顾虑,用户体验会不会很差呢?
    image

    用专业的术语总结一下HTTP的问题:

    (1) 窃听风险:第三方可以获知通信内容。

    (2) 篡改风险:第三方可以修改通信内容。

    (3) 冒充风险:第三方可以冒充他人身份参与通信

    HTTP网站的威胁

    1. HTTP 协议通信过程是完全开放的,可以轻易的监听和修改途经的数据报,导致信息的泄露和恶意篡改。

    2. HTTP协议没有用户和网站的身份验证机制,用户在浏览器上敲入的网址, 有可能被DNS劫持, 从而导致用户浏览器被导向了伪造的网站,重要信息如账号密码被骗取。

    3. HTTP通信过程被恶意劫持和篡改是普通用户无法分辨的,所有问题责任归咎于网站或者APP开发者, 对网站和APP的正常经营和品牌造成不利影响。

    4. 黑客在HTTP通信过程中,插入恶意代码或病毒,进行双向入侵和攻击。


    好了废话不多说了,下面开始讲解如何安装ssl证书:

    安装证书

    申请证书种类

    目前在 SSL证书购买时,有三种不同的资料验证方式,从而产生了三类SSL证书:域名型SSL证书(DV SSL)、企业型 SSL 证书(OV SSL)、增强型 SSL 证书(EV SSL) 。

    关于这三种证书,想了解更多的,可以自行去百度。

    在这里主要是介绍的是域名型ssl证书的安装。
    关于域名型ssl证书很多大厂都提供了相关服务,比如腾讯、阿里等。

    申请

    申请的前提是你得有域名,而且还是备案通过了的域名。这里以腾讯为例,当然也可以去阿里,这个不是很重要,因为给你颁发证书的是第三方组织。
    点击申请

    image

    这里的域名证书分为三种类型:泛域名、多域名和单域名,普通用户或小型企业单域名用的多,因为只有单域名有免费版,有效期一年。泛域名和多域名的话价格就非常贵了,记住是非常贵。

    image

    这里可选亚信、赛门铁克等都行,都有免费版的。

    填写申请域名和邮箱,下一步

    image

    选择手动认证--确认

    image

    点击“查看证书详情”接下来就到你的云服务器控制台把这一条解析记录添加进去即可。

    image

    解析记录添加完成,大概几分钟过后审核就能通过,下载证书。
    腾旭证书文件加会有Apache、Tomcat、nginx、IIS四种服务器类型的证书,证书安装方法可以参考官方文档:https://cloud.tencent.com/document/product/400/4143

    image

    以nginx为例,现将证书存到/usr/local/nginx/conf路径下的photo_cert文件夹下,然后修改nginx的配置文件nginx.conf,指定证书位置

    image
    若服务器没有开放 443 端口,需要在控制台将 443 端口开放。
    每次修改完nginx的配置文件,需将其重启方能生效

    至此,证书的安装已经完成。但是当你在浏览器输入域名的时候,默认打开的还是HTTP,这是因为nginx默认监听80端口,ssl证书监听的是443端口,这时你可以让服务器自动把 HTTP 的请求重定向到 HTTPS。

    在服务器这边的话配置的话,可以在页面里加 js 脚本,也可以在后端程序里写重定向,当然也可以在 web 服务器来实现跳转。Nginx 是支持 rewrite 的,所以只需要简单的修改nginx的配置文件即可,在 HTTP 的 server 里增加代码:

    rewrite ^(.*) https://$host$1 permanent;
    
    image

    重启nginx,证书安装完成。

    image

    友情提示:证书安装成功之后,当你在网站中引入非HTTPS的链接的时候,浏览器也会提示该网站有部分内容不安全,当然这丝毫不会影响使用,但是对于有强迫症的人来说或许有些难受,在这里你可能会用到oss对象存储,个人推荐七牛云或者阿里云。

    相关文章

      网友评论

          本文标题:如何给网站安装SSL证书(https)-详解

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