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

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

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

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

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

给自己的网站加上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

新浪微博:草莽兴

 近期文章

一年时间又回到这里

 2019-07-27 16:54  75

PHP字符串转数组的三种场景

 2018-05-05 01:32  176

PHP如何遍历字符串?

 2018-05-04 00:56  877

api接口常见的安全问题和解决方案

 2018-05-03 23:20  784

 最新评论

 666666: 11月08日 13:49
66666
来源: 一年时间又回到这里
 花花草草: 10月14日 14:58
tp5不是已经提前开了吗
来源: _SESSION变量未定义?
 疯了: 10月10日 13:40
你好呀,我使用docker构建的 把整个项目给了777 并把runtime的所有者给了nginx php的运行者还是报错
来源: thinkphp5的mkdir() Permission denied问题探讨
 mesecretme: 09月30日 15:30
有个问题,有没有发现用redis保存session的话,session清空redis的key还没过期,会依然保留的,这是值变成空了
来源: php项目redis实现session共享案例
 旧久: 09月20日 07:24
感谢!
来源: 没备案域名如何在阿里云服务器上使用?
 pagenoname: 08月24日 18:51
兴哥牛B加油哈兴哥成功的道路上你又进了一步 哈哈
来源: 一年时间又回到这里