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

sha*_*fin 85 apache ubuntu trac mod-wsgi

我正在尝试通过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>
Run Code Online (Sandbox Code Playgroud)

我重新启动apache只是为了得到这个错误:

* Restarting web server apache2                                                    

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

                                                                     [ OK ]
Run Code Online (Sandbox Code Playgroud)

这些都没有表现出来.

 netstat -anp | grep 443 
 fuser 443/tcp
Run Code Online (Sandbox Code Playgroud)

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

ps -aux | grep httpd
Run Code Online (Sandbox Code Playgroud)

当没有任何东西出现时,为什么说其他东西正在使用该端口?

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

sha*_*fin 212

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

  • 谢谢,我的是/etc/httpd/conf.d/ssl.conf (41认同)
  • 我用YUM更新了apache,它创建了一个新的ssl.conf文件,另一个监听443 .... (12认同)
  • 谢谢...有一天,我希望像apache一样广泛部署的网络服务器,这不是一个令人费解的头痛配置 (3认同)
  • 在我的例子中,Centos上的httpd升级导致重新安装ssl.conf ......但是我们在另一个配置文件中声明了Listen 443.Puppet删除了ssl.conf ...但是puppet在passenger/httpd下运行.因此,木偶代理从未有机会删除ssl.conf,因此有2个Listen 443指令,如此处所述. (3认同)

Mat*_*ieu 14

我正在添加另一个答案,因为我遇到了同样的问题并以同样的方式解决了它:我在apache2上安装了SSL a2enmod 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>
Run Code Online (Sandbox Code Playgroud)

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

NameVirtualHost *:443
#Listen 443
Run Code Online (Sandbox Code Playgroud)

但我想我也可以让它评论其他人.无论如何,谢谢你的解决方案:)


lak*_*dan 14

感谢您的答案,在apache 2.4.x版本上如果使用yum命令安装了ssl_module,不想在httpd.conf(main)文件中添加端口: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
Run Code Online (Sandbox Code Playgroud)

只需从httpd.conf文件中删除该行或命令(Listen 443)即可.