我的apache服务器在一个活网站上的ssl更新后已经停止运行

我有一个标准的亚马逊AMI(由亚马逊创build的),它已经安装了Apache。 我们需要通过这些步骤来更新我所做的SSL证书

我之前做过这个,所以我觉得我没有做错什么。 步骤基本上包括:1)openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
2)更新/etc/httpd/conf.d/ssl.conf文件。 3)重新启动服务httpd

但重启后httpd即sudo服务httpd重启。 该服务停止罚款,但没有再开始。 这是我收到的错误。

[ec2-user@******* conf.d]$ service httpd restart Stopping httpd: [FAILED] Starting httpd: [Tue Dec 06 20:38:28 2016] [warn] module ssl_module is already loaded, skipping [Tue Dec 06 20:38:28 2016] [warn] _default_ VirtualHost overlap on port 443, the first has precedence (13)Permission denied: make_sock: could not bind to address [::]:80 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs 

这真的很重要,所以如果有人能让我出来,真的很感激。 谢谢

更新:好吧,所以我设法删除mod_ssl已经加载的消息。 有人能算出这一个吗?

 [ec2-user@****** ~]$ sudo service httpd start Starting httpd: [Tue Dec 06 21:33:52 2016] [warn] _default_ VirtualHost overlap on port 443, the first has precedence (98)Address already in use: make_sock: could not bind to address [::]:443 [FAILED] 

看起来您正在以非特权用户的身份运行重新启动命令,因为httpd停止失败。 您应该使用适当的特权帐户运行重新启动命令。


更新:

默认 VirtualHost重叠在端口443,第一个有优先权(98)地址已经在使用: make_sock:不能绑定到地址 [::]:443

有些东西仍然绑定在/监听端口443.看起来你没有停止先前调用httpd。

我想我们的问题。 如果有人遇到这个问题,因为ssl证书这里是你需要检查的东西。

1)首先确保httpd的configuration文件不超过1个。 (在我的情况下,我创build了一个etc / httpd / conf / ssl.conf的备份文件,并将其命名为ssl_bkup.conf。我认为这不会被用作configuration,但它确实,我应该使用ssl.conf_backup)。 您可以检查此命令是否有超过1个configuration文件正在使用。

 grep -ir 443 /etc/httpd/conf* 

2)然后通过检查你的日志

 sudo nano var/log/httpd/error_log sudo nano var/log/httpd/ssl_log sudo nano var/log/httpd/nss_log (nss is simlar to ssl) 

3)在我的情况下,主要的问题发生在我从我的电脑复制CSR文件到服务器。 由ssl权限给予的文件必须被移动到我的服务器,所以而不是ftp我创build新文件,并将csr文件的内容复制到服务器上创build的新文件。 虽然这样做我搞砸了文件应该被复制的格式。

因为我的ftp访问是非常有限的,所以为了正确地把它们放到服务器上,我把这些file upload到在线主机上,然后通过wget下载到我的服务器上。 🙂