更新 Apache SSL 证书
Posted
技术标签:
【中文标题】更新 Apache SSL 证书【英文标题】:Renewing Apache SSL Certificate 【发布时间】:2015-05-15 00:58:31 【问题描述】:我有一个在端口 443 上运行的 apache 服务器,其 SSL 证书已过期。我今天创建了一个新证书,我想替换它。
我正在运行一台红帽机器。所以我进入 /etc/httpd/conf.d/ssl.conf 并将现有 SSL 证书的路径替换为新的。 重新启动服务器后,不知何故它仍然指向旧证书。
谁能帮我解决这个问题?
提前致谢!
【问题讨论】:
【参考方案1】:发生的事情可能不止一件事:httpd
服务器的另一个安装是正在运行的服务器,或者有多个 .conf
文件。我会尝试一个广泛的答案。
首先找到apache的config文件夹:
$ httpd -V
Server version: Apache/2.2.15 (Unix)
.......
.......
-D DEFAULT_PIDLOG="run/httpd.pid"
-D HTTPD_ROOT="/etc/httpd"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
现在检查以查看在任何位置的任何 .conf 文件中定义的 vhosts
的数量。和/或您可以简单地 grep 用于指定证书的“SSLCertificateFile
”并找出它属于哪个vhost
并在那里进行更新。
除非.conf
的主文件指向HTTPD_ROOT
之外的.conf
文件,否则应该会成功。
编辑 1:请记住确保您从上面获得的 pid 与正在运行的 Apache httpd 匹配。
$ cat /etc/httpd/run/httpd.pid
23799
root@devssl1-m1-ap-->/app/workspace/eclipse/rcmtools/ccc/trunk
$ ps -eaf | grep httpd
root 23799 1 0 Mar06 ? 00:00:04 /usr/sbin/httpd -k start
【讨论】:
感谢您的快速回复,我相信我一切正常。但是,当我尝试重新启动服务器时,我收到以下警告:[warn] default VirtualHost 在端口 443 上重叠,第一个优先。 这意味着您在 443 上有多个虚拟主机。打开配置然后检查。您对 443 的请求将发送到 443 上的另一个虚拟主机。【参考方案2】:您应该检查您正在访问的虚拟主机的配置文件。也许路径在那里被重新定义。
【讨论】:
以上是关于更新 Apache SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章