免费的https证书怎么样,阿里云https配置教程

作者:HelloGitHub-捕梦网
HTTP消息以明文传输 。如果你的网站只支持HTTP协议,你可能会受到安全攻击 。你可以用谷歌浏览器打开一个HTTP协议的网站,你会发现Chrome在URL的左侧将这个网站标记为不安全 。
HTTPS为HTTP消息提供了加密的传输通道,因此攻击者无法窃听或篡改传输的内容 。要启用HTTPS,您必须从可信机构申请HTTPS证书 。专业证书申请是要收费的,但是对于个人博客网站,有很多免费的证书申请机构 。例如,让我们加密,提供一个免费的证书申请服务 。申请过程非常简单,只需要运行几个命令,证书到期后可以自动续费,可谓一劳永逸 。接下来,我们使用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错误:没有名为“requests.packages.urlib3”的模块 。这是因为requests和urllib3的版本太低(请参考本期的讨论[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的域名号:
你想为哪些名字激活HTTPS
1:django-blog-tutorial-v2-demo.zmrenwu.com
选择用逗号和/或空格分隔的适当数字,或保留输入
空白选择所有显示的选项(输入“c”取消):1
然后certbot会做一个域名验证,证明你对这个域名有控制权 。验证通过后,我们会给你颁发加密证书 。
最后,系统会提示您是否将HTTP重定向到HTTPS 。当然,选择是肯定的,这样certbot会自动帮助我们修改Nginx的配置,并将HTTP重定向到HTTPS 。如果用户使用HTTP协议访问我们的博客网站,他们将被重定向到HTTPS协议以确保安全 。
请选择是否将HTTP流量重定向到HTTPS,删除HTTP访问 。
1:无重定向–不对web服务器配置做进一步的更改 。
2:重定向–将所有请求重定向到安全HTTPS访问 。选择此为
新网站,或者如果你有信心你的网站在HTTPS工作 。你可以撤销这个
通过编辑web服务器的配置进行更改 。
选择适当的数字[1-2],然后按[enter](按“c”取消):2
将端口80上的所有流量重定向到/etc/nginx/conf . d/django-blog-tutorial-v2 . conf中的ssl
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 。目前我们博客里有一个介绍外部logo库的样式文件,是HTTP协议介绍的,需要改成HTTPS:
base.html? 以上,通过几个简单的步骤,整个HTTPS站就打开了 。
引用
[1] 你好GitHub-团队仓库:https://github.com/Hello GitHub-团队/你好Django-博客-教程
【免费的https证书怎么样,阿里云https配置教程】[2]问题:https://github.com/certbot/certbot/issues/5104


    推荐阅读