免费的https证书怎么样(教你快速撸一个免费HTTPS证书)

自媒体 自媒体

  (原文来自www.9y9y.com)

 

(自媒体www.9y9y.com)

作者:HelloGitHub-追梦人物 (本文来自www.9y9y.com)

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-nginx

certbot python2-certbot-nginx 是 Let’s Encrypt 提供的 HTTPS 证书申请的工具,python2-certbot-nginx 是专门针对 Nginx 的插件,使得 Nginx 运行的服务申请证书更加简单方便。

然后运行证书申请命令:

$ sudo certbot --nginx

注意

经测试,运行上述命令后有可能报 ImportError: No module named 'requests.packages.urllib3' 的错误,这是由于 requests 和 urlib3 版本过低所致(可以参考这个 issue[2] 的讨论),解决办法是重装它们,运行下面的命令:

$ pip uninstall requests
$ pip uninstall urllib3
$ yum remove python-urllib3
$ yum remove python-requests

然后重新安装 certbot,由于它依赖上面两个包,所以重装时会一并装上:

$ sudo yum install -y certbot python2-certbot-nginx

重新执行证书申请命令:sudo certbot --nginx

会有一系列交互式的提示,首先会让你输入邮箱,用于订阅。然后输入 a 同意他们的政策。

接着 certbot 会自动扫描出来域名,根据提示输入想开启 HTTPS 的域名标号:

Which names would you like to activate HTTPS for


1: django-blog-tutorial-v2-demo.zmrenwu.com


Select the appropriate numbers separated by commas and/or spaces, or leave input

blank to select all options shown (Enter 'c' to cancel): 1

然后 certbot 会做一个域名校验,证明你对这个域名有控制权限。验证通过后,Let's Encrypt 就会把证书颁发给你。

最后会提示你是否把 HTTP 重定向到 HTTPS,当然选择是,这样 certbot 会自动帮我们修改 Nginx 的配置,将 HTTP 重定向到 HTTPS,如果用户使用 HTTP 协议访问我们的博客网站,就会重定向到 HTTPS 协议访问,确保安全性。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.


1: No redirect - Make no further changes to the webserver configuration.

2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for

new sites, or if you're confident your site works on HTTPS. You can undo this

change by editing your web server's configuration.


Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/django-blog-tutorial-v2.conf

certbot 申请的证书只有 3 个月有效期,不过没有关系,certbot 可以无限续期,我们增加一条 crontab 定时任务用来执行 certbot 自动续期任务,这样一次申请,终生使用。

打开 /etc/crontab,增加定时任务:

echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

这里配置每天 12 点执行自动续期命令。

由于全站开启了 HTTPS,因此需要把网站中非 HTTPS 的内容(比如通过 HTTP 协议请求的外部资源)改为 HTTPS,我们的博客中目前有一处引入外部图标库的样式文件是以 HTTP 协议引入的,需要改为 HTTPS:

base.html
​
<link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">

以上,简单几步,就开启了全站 HTTPS。

参考资料

[1]HelloGitHub-Team 仓库: https://github.com/HelloGitHub-Team/HelloDjango-blog-tutorial

[2]issue: https://github.com/certbot/certbot/issues/5104

 

『讲解开源项目系列』——让对开源项目感兴趣的人不再畏惧、让开源项目的发起者不再孤单。跟着我们的文章,你会发现编程的乐趣、使用和发现参与开源项目如此简单。欢迎留言联系我们、加入我们,让更多人爱上开源、贡献开源~

自媒体微信号:9y9y扫描二维码关注公众号
爱八卦,爱爆料。
小编推荐
  1. NO.1 个人创业经历(一个真实的创业故事)

    「正文」 最近这几年,创业公司特别多,我自己也一路从创业公司中走来。 不可否认,正是因为这么多创业公司,才为社会提供了诸多的就业机会和

  2. NO.2 北京公交车站车祸 大货车与公交车追尾致多人受伤现场狼藉

    北京公交车站车祸 大货车与公交车追尾致多人受伤现场狼藉:【北京公交车站车祸大货车与公交车追尾致多人受伤现场狼藉】据网友爆料,今早北京房

  3. NO.3 印尼清真寺遇袭袭击者被当场打死 一周之内已发生2起类似事件

    印度尼西亚首都雅加达一清真寺6月30日晚发生袭击事件。两名警察受伤,一名袭击者被警方打死。 印尼 媒体 援引该国国家警察总局发言人塞提约瓦

  4. NO.4 情侣为当网红竟表演书挡子弹当场身亡 把命都搭上也是太拼了

    美国明尼苏达州的一对情侣,19岁的女孩蒙娜丽莎(Monalisa Perez)和她22岁的男友佩德罗(Pedro Ruiz III)为了成为网红,最近几个星期一直在视频网站youtube上

  5. NO.5 巴铁投资公司华赢凯来涉非法集资 32人被刑拘

    中新网7月2日电 据北京市公安局东城分局官方微博 消息 ,针对有投资人举报北京华赢凯来资产管理有限公司从事非法集资活动的情况,北京市公安局

  6. NO.6 被同学暴打拍裸照 初中女生失联后遭打父亲报了三次警见到女儿

    副标题#e# 被同学暴打拍裸照 初中女生失联后遭打父亲报了三次警见到女儿时惊呆了 【被同学暴打拍裸照】6月28号晚上,小琴被2个女同学约了出去,

  7. NO.7 13岁男孩玩手游1月充值近5万元 本是孩子“救命钱”

    副标题#e# 看到支付宝的一长串账单,李先生头都大了。今年5月27日至6月24日,他的小儿子成成(化名)用他的支付宝给游戏充值了近5万元,最大一笔

  8. NO.8 杭州55岁老板为掩人耳目安排小三与哥哥结婚

    杭州55岁老板为掩人耳目安排小三与哥哥结婚。 这段时间,各种荒唐 新闻 出现的可不少。这不,前两天,杭州的一家法院就遇上了件奇葩事儿。 欲

Copyright2018.就要自媒体资讯站,让大家及时掌握各行各业第一手资讯新闻!