Chasen

Centos7-Apache配置多域名和多SSL证书

安装Appache

如果有打开防火墙,需要放行apache服务程序

配置多域名服务

下面用example1.comexample2.com作为演示域名。Apache的配置文件夹在 「/etc/httpd/conf.d 」下。首先配置example1.com

1.创建域名目录

2.创建配置文件

复制如下内容

3.使用上述同样方法配置example2.com

访问example1.comexample2.com,如果首页显示”this is example1(2)”说明多域名配置成功了。

升级到HTTPS服务

我们使用Let’s Encrypt的SSL证书来配置。对于一般的ssl而言,我们需要先安装openssl之后用它生成密钥和证书申请CSR文件,或者通过响应证书供应商的网站生成这两个文件。而Let’s Encrypt将这一切都自动化执行了,而自动执行的程序就是Certbot。因此我们需要先安装Certbot。[1]

1.启动配置

出现如下选择

我们选择全部配置,输入 1 2 3 4

询问是否把http强制跳转至https,没有特殊情况的话我们选择2,强制跳转。这样脚本会帮我们自动修改先前创建的example1.conf。

出现上面的文字说明HTTPS升级成功了,可以访问example1.com,发现是有安全的标识的。在apache配置文件下会多出两个有关ssl的配置。

自动更新证书

考虑到证书的有效期只有三个月,不能自动更新的话就会相当麻烦。实现自动更新的方法是通过crontab添加定时任务。首先,需要安装Crontab,并启动服务:

然后通过下面命令添加新的任务:

其中:-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

在打开的文件中参考下面的格式说明,填写任务计划

其中“–post-hook”是指在certbot重新申请证书之后执行的代码,这里让httpd重启。

参考

[1] 通过Certbot配置Let’s Encrypt的SSL(Apache)

码字很辛苦,转载请注明来自Always《Centos7-Apache配置多域名和多SSL证书》

评论