1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 域名 > 正文

域名

如何免费为自己域名填加SSL证书,永久使用HTTPS

1987web2022-08-09域名646
本站是根据大神[左耳朵耗子](

本站是根据大神[左耳朵耗子](如何免费的让网站启用HTTPS | | 酷 壳 - CoolShell"左耳朵耗子")博客配置

在此做个归纳,希望能帮到没有配置过的朋友

配置非常的简单: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    //最终成功

end>>>>>>>>>>>>>>>>>>>>>>>>>>

配置定时任务(原因:证书号只是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

开启 http2

建议配置 http2,这要求 Nginx 版本要大于 1.9.5。HTTP2 具有更快的 HTTPS 传输性能,非常值得开启

在Nginx.conf  将行 `listen 443 ssl;  managed by Certbot` 
	改成 `listen 443 ssl http2;  managed by Certbot` 即可

重启你的服务器`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.恭喜你配置成功 更多内容可访问我的个人站https://pcity.top