我有一个在端口 443 上运行的 apache 服务器,它的 SSL 证书已过期。我今天创建了一个新证书,我想替换它。
我正在运行一台红帽机器。所以我进入/etc/httpd/conf.d/ssl.conf 并将现有 SSL 证书的路径替换为新证书。 重新启动服务器后,不知何故它仍然指向旧证书。
谁能帮我解决这个问题?
提前致谢!
最佳答案
可能不止一件事在发生: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 的 pid 相匹配。
$ 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
关于apache - 更新 Apache SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29017079/