文章插图
作者:HelloGitHub-追梦人物
HTTP 报文以明文形式传输 , 如果你的网站只支持 HTTP 协议 , 那么就有可能遭受到安全攻击 。你可以使用 google 浏览器打开一个 HTTP 协议网站 , 会发现 Chrome 在网址的左边将这个网站标记为不安全 。
HTTPS 为 HTTP 报文提供了一个加密传输的通道 , 这样攻击者就无法窃听或者篡改传输的内容 。要启用 HTTPS , 必须向一个可信任机构申请一个 HTTPS 证书 。专业的证书申请需要收费 , 不过对于个人博客网站来说 , 有很多免费的证书申请机构 。比如 Let’s Encrypt , 它提供了免费的证书申请服务 , 申请过程十分简单 , 只需要运行几条命令即可 , 而且证书到期后支持自动续期 , 可谓一劳永逸 。接下来我们就是用 Let’s Encrypt 提供的工具来申请免费的 HTTPS 证书 。
首先安装 Let’s Encrypt 提供的证书申请工具 。登录 https://certbot.eff.org/ 选择我们博客网站使用的服务器软件和操作系统 。教程中以 Nginx 和 centos 7 为例:
首先安装必要工具:
$ sudo yum -y install yum-utils$ sudo sudo yum install -y certbot Python2-certbot-nginxcertbot python2-certbot-nginx 是 Let’s Encrypt 提供的 HTTPS 证书申请的工具 , python2-certbot-nginx 是专门针对 Nginx 的插件 , 使得 Nginx 运行的服务申请证书更加简单方便 。
然后运行证书申请命令:
$ sudo certbot --nginx
【免费申请 HTTPS 证书,开启全站 HTTPS】注意$ pip uninstall requests$ pip uninstall urllib3$ yum remove python-urllib3$ yum remove python-requests
经测试 , 运行上述命令后有可能报 ImportError: No module named 'requests.packages.urllib3' 的错误 , 这是由于 requests 和 urlib3 版本过低所致(可以参考这个 issue[2] 的讨论) , 解决办法是重装它们 , 运行下面的命令:
然后重新安装 certbot , 由于它依赖上面两个包 , 所以重装时会一并装上:$ sudo yum install -y certbot python2-certbot-nginx重新执行证书申请命令:sudo certbot --nginx
会有一系列交互式的提示 , 首先会让你输入邮箱 , 用于订阅 。然后输入 a 同意他们的政策 。
接着 certbot 会自动扫描出来域名 , 根据提示输入想开启 HTTPS 的域名标号:
Which names would you like to activate HTTPS for
推荐阅读
- nginx如何防止ssl证书过期
- 如何给域名配置https证书
- 图文教程 阿里云申请免费SSL证书实现网站HTTPS化
- 淘宝有企业资质的店铺的东西会有假吗 淘宝买的资质证书真的吗
- Python密码系统速查表
- 如何快速为网站选择合适的SSL证书
- 申请茶艺师资格证书的条件如何申请茶艺师资格证书
- 涌溪火青茶叶的历史发展
- JS全局变量是如何工作的?
- Tomcat配置HTTPS访问方式