重新启动apache时“ make_sock:无法绑定到地址[::]:443”(安装trac和mod_wsgi)


91

我正在尝试通过SSL安装trac和mod_wsgi。我尝试手动安装它,但是效果不佳,因此我开始遵循此方法:trac-on-ubuntu

我跳过了svn部分,因为我想改用git。在第一次编辑httpd.conf之后:

WSGIScriptAlias /trac /var/trac/apache/trac.wsgi

<Directory /var/trac/apache>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

我重新启动apache只是得到此错误:

* Restarting web server apache2                                                    

(98)Address already in use: make_sock: could not bind to address [::]:443

                                                                     [ OK ]

这样做没有任何效果。

 netstat -anp | grep 443 
 fuser 443/tcp

这样做除了我运行的grep命令外没有产生任何效果:

ps -aux | grep httpd

当什么都没有显示时,为什么还说其他端口正在使用该端口?

编辑:你们会为此而笑。我在ports.conf中有一个额外的Listen 443,它不应该在那里。删除解决了这个问题。


很好,您发现了额外的Listen语句。在我进行您的编辑之前,将建议尽可能的原因。:-)
Graham Dumpleton,2012年

3
您可能需要将编辑内容重新写入答案并接受。这是将问题标记为“已解决”且不需要更多支持的推荐方法。
hasienda'2

2
不幸的是,我遇到了这个问题,但是一个额外的“ Listen 443”并不是原因……
Cerin 2012年

1
我有完全一样的问题。从ports.conf中删除了最上面的443个,重新启动了apache2,并且一切正常。
PrestonDocks

8年后,另一个不想提及他的名字的人遇到了这个问题。当然,8年后,您将搜索错误消息,从而导致堆栈溢出。那就是为什么我只需要广告一条消息;)
NME新媒体娱乐公司

Answers:


226

你们会为此而笑。我在ports.conf中有一个额外的Listen 443,它不应该在那里。删除解决了这个问题。


44
谢谢,我在/etc/httpd/conf.d/ssl.conf
Nabil Kadimi 2013年

15
我用YUM更新了apache,它创建了一个新的ssl.conf文件,另一个监听443 ....
zzarbi 2013年

4
谢谢...希望有一天,我希望配置一个像apache一样广泛部署且不会造成麻烦的Web服务器
Mike Pennington

3
就我而言,在Centos上对httpd的升级导致重新安装了ssl.conf ...,但是我们在其他配置文件中声明了Listen 443。木偶删除了ssl.conf ...,但是木偶在passenger / httpd下运行。因此,木偶代理从来没有机会删除ssl.conf,因此有2个Listen 443指令,如此处所述。
rfay

1
我运行了certbot,它在我的配置文件中插入了另一个443条目。谢谢!
塞尼卡·冈萨雷斯

16

谢谢您的回答,在apache 2.4.x版本上,如果已使用yum命令安装了ssl_module,则不想在httpd.conf(主)文件中添加端口:443

要在配置文件中找到端口443,

# grep '443' /etc/httpd/conf.d/*

/etc/httpd/conf.d/ssl.conf:Listen 443 https
/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443

# grep '443' /etc/httpd/conf/httpd.conf 
Listen 443

只需从httpd.conf文件中删除该行或对其进行命令(侦听443)。


1
这成功了!以我yum update
为例

15

我为此添加了另一个答案,因为我遇到了同样的问题,并且以相同的方式解决了它:我已经使用a2enmod ssl,在apache2上安装了SSL ,这似乎在/etc/apache2/ports.conf

NameVirtualHost *:80
Listen 80

NameVirtualHost *:443
Listen 443

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

我必须Listen 443NameVirtualHost *:443指令后的第一个注释掉:

NameVirtualHost *:443
#Listen 443

但是我认为我也可以允许它并评论其他人。无论如何,谢谢您的解决方案:)


4

对于在端口上没有重复的Listen指令且没有正在运行的进程的所有其他用户:请检查您是否没有在apache2.conf中不小心将ports.conf两次包含在内(因为合并不当,所以我这样做了)。


2

我使用的是Apache 2.4.27版,也有这个问题,通过修改解决了

conf / extra / httpdahssl.conf,注释18行内容(听443 https),可以正常工作。


1

我犯了在/etc/httpd/conf.d目录中错误命名备份文件的错误。在自述文件中,它声明按字母顺序浏览所有.conf文件。

我已经创建了ssl- < date > .conf(打算作为备份),并且在ssl.conf之前加载。它基于ssl- < date > .conf绑定了:443端口,而在ssl.conf上失败。

有一次,我改名为备份文件的ssl.conf。<日期 >后,该服务启动就没有问题。

注意,我所在的服务器正在运行RHEL 6


像这样的事情发生在我身上,所以我认为我会提到它,以防它对某人有所帮助。我将其重命名为ssl.conf,因此我记得它已设置为使用letsencrypt。后来,我允许我认为对Apache进行的次要更新发生了。该更新将ssl.conf放回conf.d中,从而在Listen语句中产生了冲突。除了保持警惕外,不知道该怎么办。如果我坚持使用默认的ssl.conf文件名,则更新可能会破坏它!
Brian Doherty

我做过同样的事情,Apache无法启动。我已经删除了该备份文件,它开始工作。非常感谢您提供此答案,您可以拯救生命。
Umesh Patil

1

让我再添加一个错误原因。在httpd.conf中,我明确包含了

Include etc/apache24/extra/httpd-ssl.conf

虽然没有注意到以前的通配符

Include etc/apache24/extra/*.conf

抓住443将找不到此。


0

我正在使用Ubuntu。我只是禁用了apache2的ssl模式,它对我有用。

a2dismod ssl

然后重新启动apache2。

service apache2 restart

0

我检查并修复了以下问题,并已解决-

  1. httpd.conf文件位于 /etc/httpd/conf/
  2. 检查监听的IP和端口,例如 10.12.13.4:80
  3. 删除了额外的监听端口
  4. 重新启动httpd服务

0

启动XAMPP时,我在Windows7,phpeclipse中遇到了问题。我的解决方案是:

  • 1.注释掉\ xampp \ apache \ conf \ httpd.conf-> line171-> #LoadModule ssl_module modules / mod_ssl.so

  • 2.line539-> #include conf / extra / httpd-ssl.conf

或者您可以将443端口更改为另一个



0

在httpd.conf中:

Listen *:443

你需要写Listen 127.0.0.1:443 它对我有用。


127.0.0.1当您想限制仅接受与本地主机回送接口的连接时,才在listen语句中使用。Listen如许多人所述,删除重复的语句是更典型的解决方案。如果您在上有重复项,*:443则将其更改为使用127.0.0.1实际上并没有什么不同,因为另*:443一项仍会尝试在上绑定相同的端口127.0.0.1
Graham Dumpleton

0

我也遇到过同样的问题,这是由于/etc/httpd/conf.d中ssl.conf的多个副本-应该只有一个。


很抱歉,这是评论,不是答案。如果您有关于解决方案的更多信息,请从我们的案例中了解到。
RobertS
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.