给网站加上永久免费SSL的证书

为什么网站要设置为HTTPS

HTTPS是安全上网的保证,如果有条件还是有必要给自己的网站安装安全证书,保障用户上网安全。

同时百度对HTTPS的网站还会扶持,将影响搜索的排序,见百度对HTTPS的态度

谷歌对HTTPS网站的态度也很坚决,在Chrome中所有非HTTPS网站,会被标记为不安全。

谷歌chrome标记不安全

但是目前商用证书都需要购买的,对于个人站长来说,如何获取使用免费的证书呢,让Let's Encrypt来帮你吧。

如何申请永久免费证书

Let's Encrypt申请免费证书

Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。

申请及使用步骤

准备工作

  • 确保本机的有Python的开发环境
  • 确保本机有git环境

下载cerbot

>git clone https://github.com/certbot/certbot.git

生成证书

>cd certbot
>./certbot-auto certonly --standalone --email webmaster@xtuz.net -d www.xtuz.net

确认证书

确认在/etc/letsencrypt/live/存在站点的名目录,并且在木有下有4个文件:

  • cert.pem - Apache服务器端证书
  • chain.pem - Apache根证书和中继证书
  • fullchain.pem - Nginx所需要ssl_certificate文件
  • privkey.pem - 安全证书KEY文件

Nginx安装证书

在nginx.conf文件的站点配置中添加如下信息:

listen       443 ssl;
server_name  www.xtuz.net;

ssl_certificate      /etc/letsencrypt/live/www.xtuz.net/fullchain.pem;
ssl_certificate_key  /etc/letsencrypt/live/www.xtuz.net/privkey.pem;

ssl_session_cache    shared:SSL:1m;
ssl_session_timeout  5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;

同时增加网站80端口跳转到443的调整

server {
    listen       80;
    server_name  www.xtuz.net;
    rewrite ^(.*) https://$host$1 permanent;
}

Nginx重启确认HTTPS生效

通过命令Nginx重新加载配置文件后,再打开https://www.xtuz.net,可以看到chrome提示网站已经安全了. :)

解决免费SSL证书90天有效期问题

Let's Encrypt证书是有效期90天的,需要我们自己手工更新续期才可以。 命令如下:

 ./certbot-auto certonly --renew-by-default --email webmaster@xtuz.net -d www.xtuz.net

通过这个方法,就可以变成永久免费证书咯。

配置过程中碰到的坑 - Could not bind to IPv4 or IPv6

root@vps:/opt/software/certbot# ./certbot-auto certonly --standalone --email webmaster@xtuz.net -d www.xtuz.net
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.xtuz.net
Cleaning up challenges
Problem binding to port 80: Could not bind to IPv4 or IPv6.

原因是本机上有进程已经绑定了80端口,需要关掉。查看本机是nginx占用了80端口,

输入supervisorctl stop nginx。然后再次执行证书安装命令,即可顺利安装。

安装完毕后,输入supervisorctl start nginx,即启动nginx。


相关主题:
相关推荐
  1. 湖南第一师范学院第二附属小学(湖南一师二附小)
  2. 北京市海淀区莘莘学子附属幼儿园 - 北京幼儿园黄页
  3. 文华幼稚园 - 成都市幼儿园黄页
  4. 长春市二道区新天地幼儿园 - 长春幼儿园黄页
  5. 茂名市第十八小学
  6. 武汉市江夏区淑君幼儿园 - 武汉幼儿园黄页
  7. 老虎同我讲话了
  8. 四体不勤五谷不分
  9. 韶关市翁源县官渡镇新北小学
  10. 馋嘴的小笨熊
  11. 易中天给英雄武汉的一首诗 - 武汉新鲜事
  12. 两个朋友分金子
  13. Python公开课 - PDB调试处理
  14. 沈阳市沈河区小晴天托管 - 沈阳幼儿园黄页
  15. 南昌市豫章小学
  16. NumPy - 简明教程(上)
  17. 武汉推出越王勾践剑交通卡
  18. 爱唱歌的叮叮当
  19. 留营乡孔寨幼儿园 - 石家庄幼儿园黄页
  20. 茂名市信宜市第六小学
  21. 红蚂蚁和七彩果
  22. 广东博文学校(小学部)
  23. Python之机器学习入门
  24. 北十八回民幼儿园 - 哈尔滨幼儿园黄页
  25. Python公开课 - 标准库Thread详解
  26. 湖北将发放消费券 - 武汉新鲜事
  27. Python公开课 - 爬虫识别滑动验证码
  28. 怪 谁 呢
  29. 警方通报:武汉男子持刀至五死一伤,嫌犯已跳桥
  30. 脱单!武汉的相亲角在哪你知道吗?
  31. 公主眼中的月亮
  32. 阜阳文峰小学
  33. 五兄弟的传说
  34. 奥迪客户不满加价,被武汉4S店销售群殴
  35. 如何将Ubuntu配置成网关服务器使用
  36. 长春市二道区艺术摇蓝幼儿园 - 长春幼儿园黄页
  37. 武汉女子网上做兼职被骗六十五万
  38. 金桥幼儿园 - 成都市幼儿园黄页
  39. Nginx Location 匹配设置
  40. 百名网媒总编辑登上知音号欣赏武汉夜色
  41. 一个大喷嚏吓退了狼
  42. 上海市静安阳曲路小学
  43. Django的Cache框架(下)
  44. 代理技术详解 - HTTP代理,HTTPS代理及SOCKS 5代理
  45. 沈阳市皇姑区瓜仔仔幼儿园 - 沈阳幼儿园黄页
  46. 中山市开发区第二小学(火炬开发区二小)
  47. synchronized与lock的区别 - 阿里技术面试
  48. 事发武汉农夫山泉矿泉水内惊现大量虫卵
  49. 镇江市新区实验小学
  50. 武汉一女子七天被骗220万