Apache+https

首先要确保主机已经安装了Apache、openssl环境。

一、在httpd.conf中添加Virtual Host相关信息

进入 /etc/httpd/conf/ 目录

vim httpd.conf

添加以下内容并保存:以本博客网址为例

<VirtualHost *:80>  
    ServerAdmin xx@xx.com
        ServerName  www.zhishirepository.com
	    ServerAlias zhishi
	        DocumentRoot /var/www/html
</VirtualHost>

二、安装 let’s encrypt

进入https://certbot.eff.org/ 网站,你需要选择一下你用的 Web 接入软件 和你的 操作系统。比如,我选的,apache 和 centos8 。然后就会跳转到一个安装教程网页。照做即可。

安装过程中需要输入邮箱、域名等信息,注意输入的时候要格外认真,因为不能使用backspace键。

安装完毕后,certbot会创建目录 /etc/letsencrypt/ 用于存放证书等文件,还会在 /etc/httpd/conf/ 目录下创建一个配置文件httpd-le-ssl.conf ,打开可以看到里面监听443端口。

三、开放 443端口

apache默认使用80端口。在阿里云安全组出里面添加80端口,具体方法可以查找阿里云的帮忙文档。

主机里面要确保80端口为LISTEN状态。

通过指令 netstat -nltp 可以查看到。

还应确保firewall开放了80端口,通过指令 firewall-cmd –list-ports查看,如果显示80/tcp即为开放了。

由于https默认使用443端口,故而需要在阿里云添加443端口。

然后在主机设置firewall开放443端口,通过指令:firewall-cmd –zone=public –add-port=443/tcp –permanent,返回success即为成功。

再执行 firewall-cmd –reload 重载入firewall。显示443/tcp 80/tcp,即为成功。

四、自动执行certbot renew 避免证书过期

证书的有效期为90天,帮在crontab里面添加自动更新指令,避免证书过期。

crontab -e

0 0 1 * * /usr/bin/certbot renew –force-renewal
5 0 1 * * /usr/sbin/service nginx restart

五、总结

重点在于443端口要开放,防火墙也要开放。多尝试,遇到问题多思考。

如有遗漏或错误之处,本文后续发现会持续更新。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注