我需要在我的服务器上以相同的主机名运行 http 和 https。我让所有程序在没有 SSL 的情况下运行,并在 /etc/httpd/conf.d 目录中配置了主机。
System: CentOS release 5.6 (Final)
Server: Apache/2.2.3
我按照这里的说明进行操作: http://shapeshed.com/journal/setting_up_mod_ssl_on_apache_centos_52/
但现在:
sudo /etc/init.d/httpd restart
回应:
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:443
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
[FAILED]
在 /etc/httpd/conf/httpd.conf 的底部我有:
NameVirtualHost *:80
我尝试添加名称虚拟主机 *:443低于这个数字,但没有帮助。
还有一件事:Webmin 之前已经安装,并且已经在运行http://XXX.XXX.XXX.XXX:10000
这可能是一个因素吗?
任何帮助都将不胜感激;你可能已经知道我是通过谷歌来到这里,我以前没有这样做过。
谢谢!
答案1
解决了:
在安装 mod_ssl 之前,httpd.conf 包含:
Listen 31.222.163.118:443
并且 mod_ssl 安装程序已将其添加到自动创建的 ssl.conf(在 conf.d 中)
Listen 443
重复自然会引起冲突。我从 httpd.conf 中删除了该行,现在它可以正常启动了。
答案2
看起来您已经有一些程序在监听端口 443。请禁用它,然后重试运行 Apache。您可以使用以下命令查找正在监听该端口的程序:
netstat -ptnl | grep 443