使用 SSL 证书保护网站的访问
今天,本人的博客去淘了一个几十块钱的 Comodo PositiveSSL 证书,以后通过 HTTP 将跳转至 HTTPS ,访问逼格更高。我以前也没有接触过 SSL ,导致拿到人生中第一张 SSL 证书的时候,Private Key 居然是通过第三方生成的,理论上来说这张证书基本上是废了,因为你家门的钥匙都是别人帮你配的,谁知道他有没有留一个副本!所以 Private Key 一定得自己生成。
以下的内容,随随便便搜索引擎便能搜索到更加详细的,我在这里也就不累赘了,大概的说一下一些简单的东西。
SSL 证书有什么用
- SSL 是一个加密协议,它能保证你的数据在传输的过程中不被截取
- 它能保证你的网站的内容不被篡改,比如国内的各宽带运营商,强制在你的网站上加 Javascript 代码,投放广告
- 它能让你的网站看起来逼格更高
当然,到目前为止,我还是冲着第三个作用去的 :))
SSL 证书价格怎么样
在不久的将来,可能将是全民 SSL 的时代,到时候各 CA 会免费给大家签证书,相关的新闻可以自行搜索。目前,签发证书的成本其实还是蛮低的。如果你是个人使用,不防试试以下的 CA 签发的证书,如果你是商用,我觉得你应该比我更清楚应该去哪里签。
- StartSSL 免费签单域名证书
- 沃通 免费签单域名证书(中文,不过他的顶级 CA 还是 StartSSL, 而且二级 CA 还有大大的 FREE ,逼格不够)
- Comodo PositiveSSL 我在 namecheap.com 签的单域名证书,50多RMB,淘宝搜索的话 7-50 RMB 不等
SSL 证书如何申请
在哪家 CA 申请证书都是差不多的流程。你需要准备的是你申请域名的 Private Key 和通过 Private Key 生成的 CSR (CERTIFICATE REQUEST),然后将 CSR 给 CA ,CA 域名审核通过后,将会给你一个 CRT SSL 证书。CSR 起到中间传递的作用,最后部署的时候,真正有用的只有 Private Key 和 CRT
如果你觉得通过命令行生成 Private Key 和 CSR 麻烦的话,我这里推荐一个在线生成的网站,这个网站纯前端生成,无后端服务器,理论上是安全的。
记得生成之后,要点击下载 ZIP 包,里面含有 Private Key ,把它丢了就没救了。
SSL 证书如何部署
我觉得部署倒是挺简单的,把 Private Key 和 CRT 放在服务器上,配置 Nginx Conf ,重启完事。
host.conf 相关配置
1 2 3 4 5 6 7 8 9 10 |
|
把 HTTP 强制跳转至 HTTPS
1 2 3 4 5 6 |
|
SSL证书的一些小问题
- Android 浏览器或某些 PC 浏览器上显示证书不受信任。你需要找到你所申请 CA 的证书及根证书等证书链,放在你的证书
ssl.crt
后面就OK了 - 浏览器上面没有显示绿标,而且灰色小黄标。那是因为你的页面含有 HTTP 协议的元素,全部使用 HTTPS ,就有小绿标了