一站式申请https加密服务 https网站打不开


我不是安全专家也不是搞服务器的 , 所以这对我而言也是一种有趣的经历 , 而记录这个过程可以让其他任何人也能很快地做到这些 。包括一些暂时的停顿时间 , 我总共只花了20-30分钟 。
获得证书
有一些官方出售的证书 , 但从我的经验来看 , 最容易上手是Let’s Encrypt 。它也是免费的 , 而且背后有一些主要的赞助商 , 例如Mozilla , Chrome , Akamai和Cisco 。
通过Let’s Encrypt为你的网站生成证书的最快方法是使用SSL For Free 。然后 , 你便可以选择Automatic FTP Verification或者Manual Verification 。
【一站式申请https加密服务 https网站打不开】

一站式申请https加密服务 https网站打不开

文章插图
选择好了之后 , 你就可以得到:
针对网站的SSL证书 证书私钥 CA /链证书
安装证书
下面 , 针对你的托管服务提供商以及你的服务器类型 , 或者如果你是自己托管的话 , 有不同的方法 。就我而言 , 我对这个网站使用Media Temple , 并且它们在Twitter上非常有用 , 而且它们的在线支持聊天会指点我正确的方向 。
所有我需要做的是:
进入帐户中心 。正如Media Temple有一个 , 我敢肯定它适用于大部分的托管选项 。选择导入SSL证书 , 添加我之前得到的SSL证书 , 私钥 , CA /链证书之前 。成功!
好了吗 , 没有 。第3步是骗人的 。当我在第2步中进入我的密钥时 , 我会得到一个错误说我的私钥是无效的 。我慌了一下 , 然后开始去找问题出在什么地方 。Media Temple支持指引我到Let’s Encrypt论坛上的“Error adding cert, Invalid private key”讨论中 。
原来需要转换私钥到RSA格式 , 使用下面的代码行就可以在终端中快速转换:
sudo openssl rsa -inform pem -in /etc/letsencrypt/live/www.example.com/privkey.pem -outform pem | less
当然要相应地改变上面的域和路径 。然后复制输出和提交/另存为私钥 。
更多高级设置
如果你正在某个地方运行你自己的服务器或虚拟机 , 或者恰好没有针对主机的简单帐户中心选择 , 那么我推荐你阅读下面这些文章考虑手动安装:
Tim Kadlec的《Taking Let’s Encrypt for a Spin》 Jeremy Keith的《Switching to https》
验证证书安装
安装好了之后 , 验证证书的一个简单方法是使用SSL Checker以发现任何潜在的问题 。然后 , 当你使用http://访问你的网站的时候 , 所有一切都应该显示良好和安全 。然而在现实生活中很少是这样的情况 。要小心混合的内容 , 即部分内容通过http://提供服务 , 而一些内容使用的则是http:// 。使用http://的内容将不显示 。
注意:不要使用相对路径/协议相关的URL , 即/css/style.css 。它会对可能的端点攻击开放 , 而且 , 从http://你可以随时请求http://资源 , 反之则不能 。
一旦确保安全之后 , 你应该可以在所有的web浏览器中看到挂锁图标 , 在地址栏的URL旁边 。如果没有显示 , 那么可以使用伟大的服务Why No Padlock? 来找出可能的问题 。我敢打赌 , 你的1%的时间用来改变内部引用到http:// , 然后剩下99%的时间用来搞清楚有关第三方的内容 , 以及如何安全地包含这些内容 。
强制SSL / HTTPS用于所有请求
一旦网站安全并在可以平稳运行HTTPS之后 , 没有理由不确保所有请求都通过SSL 。
正如使用.htaccess和mod_rewrite的Force SSL/https中概述的那样 , 下面有一个代码片段可以用来添加.htaccess 文件以确保:
RewriteEngine OnRewriteCond %{SERVER_PORT} 80RewriteRule ^(.*)$ http://www.example.com/$1 [R,L]
一起试试添加HTTPS到你的网站吧!你值得拥有 。