浏览注意:博文为服小周原创,转载请自觉标明出处,支持原创从每一个人做起。

基于CENTOS7下APACHE与PHP8.0部署多个SSL证书(无HTTPD-SSL.CONF文件)

发布时间:2023-02-05        ||        作者:Mcszl(服小周)        ||        浏览次数:477

前言:第一次接触服务器部署,有更好的建议欢迎提出,十分感谢!做这篇文章是想分享给初次跟我一样四处碰壁的初学者一些可能的情况解决方法。刚开始想注册一个泛域名一劳永逸,但是千辛万苦注册到zerossl账户后发现已经不再免费提供泛域名证书,IP证书还在免费提供。

  • 一·zerossl避坑
    zerossl已经不再提供免费泛域名证书,IP证书还在继续提供,依旧是免费90天,服小周在注册zerossl账户时,在注册页输入邮箱和密码后,点击next一直没有反应,一度让我"抓狂",最后想到zerossl是国外网站,是不是需要加速器,果然使用加速器后直接就注册成功进入下一步了。
  • 二.多域名ssl证书部署
    1.没有httpd-ssl.conf文件
    这是当时我初步接触证书部署的第一个问题,看见论坛上都是由httpd-ssl.conf文件来部署证书,而我使用find / -name httpd.conf永远没有结果返回,后来才知道是要安装ssl模块(在此处不介绍如何安装,如有需要可以在网上搜索安装,或移步centos安装ssl模块(网站截至2023-2-6暂未开放)二级域名获取请移步获取二级域名的小技巧(网站截至2023-2-6暂未开放))此时就会有个新的文件ssl.conf(可以通过

    find / -name ssl.conf

    )查找ssl.conf文件位置。
  • 2.基于ssl.conf配置多域名证书
    先将证书下载对应的服务器文件 ,我这里是Apache
    解压之后的文件是这样的

    在我部署过程中只用了两个,我也不知道怎么回事,有知道问题在哪里的欢迎分享。
  • 3.编辑ssl.conf文件

    vim 文件路径
    #以下是我的执行代码
    vim /etc/httpd/conf.d/ssl.conf

    打开以后是这样的

    下方在第59行和第60行分别是 DocumentRoot和ServerName这两项默认前面是加了#号的按键盘上的i键进入编辑模式,删除这两项前面的#号,并将servername后面的www.example.com:443替换成自己的第一个域名我这里是www.forhwx.cn如图

    然后再继续往下找到100行SSLCertificateFile,将后面的路径改为你自己上传的证书的以.crt结尾的证书,一般证书名称为域名.crt。在这里我的是forhwx.cn.crt 然后找到第107行找到SSLCertificateKeyFile,将后面的路径改为你自己上传到服务器的路径,这里的文件 是以域名.key结尾。在这里我的是forhwx.cn.key整体如图所示

    在这里第一个域名证书就配置好了,可以先保存一下,按键盘esc键退出编辑,输入:wq回车保存退出编辑,再重启以下apache

    service httpd restart

    不报错,说明基本上就ok了,使用https访问(记得开放443端口,也可以把http的请求跳转到https需要在httpd.conf中添加代码,网上有很多教程,不再赘述)

    小锁出现,配置成功
    再接再厉配置第二个证书,按照老方法打开ssl.conf文件,在第56行有个VirtualHost _default_:443到218行(我的是最后一行) /VirtualHost之间所有的内容复制下来,按i键进入编辑模式,将复制的内容粘贴在最下方如图

    再将粘贴的内容中的servername换成新的域名,我这里是二级域名suse.forhwx.cn如图

    当然,下面的证书位置也要变更成对应域名的证书.crt文件和.key文件
    如果还有第三个域名证书,操作相同
    记得最后按esc退出编辑再输入:wq回车保存退出,重启apache
    现在来见证历史的时刻

    二级域名的小锁也有了。

结尾 :本文源于服小周,首发地址在https://www.forhwx.cn/buweb/1000.php

,转载请注明出处,服小周感激不尽,有更好的建议欢迎留言分享。