专注WEB开发 分享经验,沉淀知识

自动动手配置免费的https认证实践案例

 作者:chenxing  时间:2018-07-23 17:51  评论:

不过给网站加上‘安全锁标志’确实是一件非常酷的事儿

好久没看更新博客了,一直忙于手里的项目,闲暇时间也想把更多的尽力放在基础知识上。

给自己的网站加上https访问早就有这种想法,一直到昨天才去实践。

https的好处就不必多说了,现在好多浏览器对http网站会有不安全网站的提示,这就让人很无语,即使你的网站很安全或者没必要用到https,但是这种不安全提示会给用户带来很不好的体验。这样看来https认证是不得不做的事儿了。不过给网站加上‘安全锁标志’确实是一件非常酷的事儿。

https认证有付费和免费服务两种,企业级别的网站可选择付费认证,阿里的ssl认证起步价1000以上,比一台入门型的服务器还贵。免费的存在一些限制,配置上也很麻烦,不然自己也不会拖的这么久。

https进入配置介绍阶段

1.配置这个命令需要满足两个基本条件,对域名要有控制权,对服务器要有控制权。

2.本次配置的服务器环境是阿里云的centos平台下的nginx服务器。

3.选择Let's Encrypt提供的数字认证证书,采用其官方提供的Certbot工具进行配置:https://certbot.eff.org/ 。这很好有官方的文档,里面有针对不同平台下的不同服务器对应的配置命令,参照其配置命令基本上也八九不离十。

4.下载工具certbot

wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-auto

5.配置虚拟主机验证域名使用权

location ^~ /.well-known/acme-challenge/ {
   default_type "text/plain";
   # root 和你的实践的根目录保持一致
   root     /home/chenxing/www/qiusuoweb/;
}

location = /.well-known/acme-challenge/ {
   return 404;
}

6.重启nginx使配置生效

nginx -s reload

7.生成认证

./certbot-auto certonly --webroot -w /home/chenxing/qiusuoweb -d  www.qiusuoweb.com

很多问题会出现在这个过程中,有有对应的问题提示,按照提示去解决问题就可以。最后生成fullchain.pem和privkey.pem两个秘钥表示证书生成成功。

8.配置虚拟主机端口以及载入证书

listen 443 ssl;
server_name qiusuoweb.com www.qiusuoweb.com;
index index.html index.htm index.php;
root  /home/chenxing/qiusuoweb/;

ssl_certificate      /etc/letsencrypt/live/www.qiusuoweb.com/fullchain.pem;
ssl_certificate_key  /etc/letsencrypt/live/www.qiusuoweb.com/privkey.pem;

9.重启nginx使其配置生效

nginx -s reload

10.最终效果图 https认证效果图

如果https配置成功后,但是没有出现安全锁的绿色标志,那么你就要清理本次访问的网页中的http链接了,这里不仅仅是加载的资源有些是http,连出站的链接是http也是不会出现安全锁的标志的,可以通过浏览器查看源代码的方式看你网站有哪些还是http链接,然后去处理就好了。

兼容http访问

server {
    listen 80;
    server_name www.qiusuoweb.com;
    return 301 https://$server_name$request_uri;
}

重启nginx使其配置生效

自动更新证书

Let's Encrypt提供的证书只有三个月有效期,可以通过一下命令自动更新配置。

./certbot-auto renew --quiet --no-self-upgrade

以上就是配置的基本流程,再操作的过程中由于每个人环境的不同,肯定会出现各种类型的错误,比如有的人没有安装ssl模块啊、出现DNs解析错误等等,这些问题只能根据遇到的具体问题才能具体分析。出现问题可以google或者上官方社区里寻找解决问题的办法。

除特别注明外,本站所有文章均为作者原创。 或分享自己的编程经验,或探讨工作中的问题,或聊以人生趣事。 转载请注明出处来自 https://www.qiusuoweb.com/134.html

发布评论

 提交评论
有人回复时邮件通知我

 评论(0)

站长头像
chenxing(PHP攻城狮)

运营天数

总访问量

文章数量

-

-

-

交流群:157451741

新浪微博:草莽兴

 近期文章

聊聊国产化

 2024-08-24 15:56  97

内网穿透工具frp配置详情

 2024-07-18 22:30  192

mac在终端复制出现乱码00~ *** 01~

 2024-07-16 20:38  43

php html生成图片

 2024-07-08 20:25  82

scp命令使用说明

 2024-07-06 12:14  113

如何在当前目录打开终端

 2024-07-04 14:54  84

 最新评论

 tradeOff: 08月30日 10:19
在某些领域国产化是一个迫不得已的事儿
来源: 聊聊国产化
 sue: 07月03日 10:24
可以
来源: 微信小程序如何获取单个input值
 流年: 07月02日 11:31
不错的尝试
来源: 博客系统如何用markdown编辑器发布文章
 诚心: 09月29日 23:01
学到了
来源: 如何一次性推送百万级别的消息
 Nick: 04月14日 12:26
网上的资料还是太老,都只是取一个元素,解决了一大难题
来源: redis set集合取出一组数据并删除
 skywalker: 11月03日 18:21
简洁明了
来源: mysql 获取某个日期的前一天或后一天