关于http:如何免费为自己域名填加SSL证书永久使用HTTPS

35次阅读

共计 2014 个字符,预计需要花费 6 分钟才能阅读完成。

本站是依据大神左耳朵耗子博客配置
在此做个演绎,心愿能帮到没有配置过的敌人

配置十分的简略:3 步走

1. 首先关上电子子前哨基金会 EFF 的 Certbot 的网站:https://certbot.eff.org/
2. 进入首页后抉择你所用的服务器软件,linux 零碎名称 如:nginx centos7 在下图的两个红色框中

3. 当你选好你的软件 和零碎类型,网站会加载对应你的装置配置流程。比方我的:
  • 3.1 SSH into the server 登录你的服务器
  • 3.2 启用 EPEL repo 开启点击这里,自己执行了装置命令行,即可!
  • 3.3 装置 Certbot 自己一键胜利 sudo yum install certbot python2-certbot-nginx
  • 3.4 抉择你喜爱的命令装置

    sudo certbot --nginx 主动装置配置好 https(举荐应用)

    sudo certbot certonly --nginx 只是取得证书,还需另行配置

    sudo certbot --nginx未一键装置胜利,须要解决很多版本问题,包依赖问题,有以下命令:

  yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  sudo yum install certbot python2-certbot-nginx 
  sudo certbot --nginx   // 装置失败
  pip freeze|grep urllib3
  pip uninstall urllib3
  yum install python-urllib3
  sudo certbot --nginx   // 装置失败
  pip install requests
  pip install --upgrade pip
  sudo certbot --nginx   // 装置失败
  pip install requests
  sudo certbot --nginx   // 装置失败
  pip install --upgrade  pyOpenSSL
  pip show pyOpenSSl
  cd /usr/lib64/python2.7/site-packages/
  ll | grep 'pyOpenSSL'
  mv pyOpenSSL-0.13.1-py2.7.egg-info pyOpenSSL-0.13.1-py2.7.egg-info_bak
  pip uninstall pyOpenSSL
  mv pyOpenSSL-0.13.1-py2.7.egg-info pyOpenSSL-0.13.1-py2.7.egg-info_bak
  pip install --upgrade  pyOpenSSL
  cd ~
  sudo certbot --nginx    // 装置失败
  pip install --upgrade --force-reinstall 'requests==2.6.0'
  sudo certbot --nginx    // 最终胜利
  • 3.5 配置定时工作(起因:证书号只是 90 天无效,须要定时更行,这样能力永恒应用)

网站举荐的有些看不懂,未应用

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

自己采纳的耗子叔的办法,一个月更新一次解决一次就好

服务器执行:crontab -e 将上面的两行退出

0 0 1 * * /usr/bin/certbot renew --force-renewal
5 0 1 * * /usr/sbin/service nginx restart
  • 3.6 开启 http2

倡议配置 http2,这要求 Nginx 版本要大于 1.9.5。HTTP2 具备更快的 HTTPS 传输性能,十分值得开启

在 Nginx.conf  将行 `listen 443 ssl; # managed by Certbot` 
改成 `listen 443 ssl http2; # managed by Certbot` 即可
  • 3.7 重启你的服务器systemctl restart nginx,在浏览器关上你的网站,验证你的网站
  • 如果失败可能起因有这些:a b c

a. 原有网站的链接 http:// 都须要改为 https:// 否则会本服务器 block 掉

b. 阿里云未开启 平安组端口,请前去查看开启 443

端口门路:控制面板 —–> ECS 云服务器 ——> 阿里云左上角抉择服务器所在区,不然找不到实例 —–> 左侧栏 网络与平安 —–> 平安组 —》配置规定(手动增加)

c. 你的 linux 零碎,未开启防火墙通道 443,会被拦挡拜访不通

  • c1 查看你的端口状态:netstat -anp
  • c2 关上防火墙配置文件:vim /etc/sysconfig/iptables (443 端口行须要在 REJECT 行之前)

  • c3 重启你的防火墙:service iptables restart 再次拜访认证能胜利
4. 祝贺你配置胜利

正文完
 0