it-roy-ru.com

"make_sock: не удалось привязаться к адресу [::]: 443" при перезапуске Apache (установка trac и mod_wsgi)

Я пытаюсь установить trac и mod_wsgi через SSL. Я попытался установить его вручную, но это не сработало, поэтому я начал следовать этому: 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

Почему он говорит, что порт использует что-то еще, когда ничего не появляется?

EDIT: Вы, ребята, будете смеяться над этим. У меня был дополнительный Listen 443 в ports.conf, которого не должно было быть. Удаление, которое решило это.

77
sharkfin

Вы, ребята, будете смеяться над этим. У меня был дополнительный Listen 443 в ports.conf, которого не должно было быть. Удаление, которое решило это.

203
sharkfin

Я добавляю другой ответ на этот вопрос, так как у меня была та же проблема, и я решил ее таким же образом: Я установил SSL на Apache2, используя 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>

Мне пришлось закомментировать первый Listen 443 после директивы NameVirtualHost *:443:

NameVirtualHost *:443
#Listen 443

Но я думаю, что я могу также позволить это и прокомментировать другие ... В любом случае, спасибо за решение :)

14
Matthieu

Спасибо за ваши ответы, в версиях Apache 2.4.x, если у вас установлен ssl_module с помощью команды yum, вы не хотите добавлять порт: 443 в httpd.conf (основной) файл, 

Чтобы узнать порт 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

Просто удалите строку или введите команду (Listen 443) из httpd.conf file.

9
lakshmikandan

Для всех остальных, у кого нет дублирующих директив Listen и нет запущенных процессов на порте: убедитесь, что вы случайно не включили ports.conf дважды в Apache2.conf (как я сделал из-за неудачного слияния).

4
Andreas Gohr

Я использую Apache версии 2.4.27, также есть эта проблема, решил через модификацию

conf/extra/httpdahssl.conf, прокомментируйте 18-строчный контент (Слушайте 443 https), он работает нормально.

1
tao.zhang

Я проверил и исправил следующее и получил решение -

  1. файл httpd.conf в /etc/httpd/conf/
  2. Проверен прослушивающий IP и порт, например 10.12.13.4:80
  3. Удалены дополнительные порты прослушивания
  4. Перезапустил службу httpd, чтобы принять 
0
Rajorshe Mistry

Вместо этого в httpd.conf:

Listen *:443

вам нужно написать Listen 127.0.0.1:443 это работает для меня.

0
Aleksey Povar

Я сталкиваюсь с проблемой в windows7, phpeclipse, когда я запускаю XAMPP . Мое решение: 

  • 1. Закомментирован\xampp\Apache\conf\httpd.conf -> line171 -> #LoadModule ssl_module modules/mod_ssl.so

  • 2.line539 -> # Включить conf/extra/httpd-ssl.conf

или вы можете изменить порт 443 на другой 

0
XuLu

Позвольте мне добавить еще одну причину ошибки. В httpd.conf я включил явно

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

пока не заметил предыдущего подстановочного знака

Include etc/Apache24/extra/*.conf

Grepping 443 не найдет этого.

0
Vladimir Botka

Я использую Ubuntu. Я просто отключил ssl-режим Apache2, и он работал для меня.

a2dismod ssl

а затем перезапустил Apache2.

service Apache2 restart
0
Baran

Я сделал ошибку, указав неверный файл резервной копии в каталоге /etc/httpd/conf.d. В README говорится, что он проходит в алфавитном порядке через все файлы .conf.

Я создал ssl - < date >. Conf (предназначенный для резервного копирования), и он загружался до ssl.conf. Он связывал порт: 443 на основе ssl - < date >. Conf и завершался ошибкой на ssl.conf.

Как только я переименовал файл резервной копии в ssl.conf. < date >, служба запустилась без проблем.

Как примечание, сервер, на котором я работаю, работает под управлением RHEL 6

0
Mike F

Я поддержал ответ Матье

Я прокомментировал #Listen 443 в файле httpd-ssl и Apache можно запустить

Поскольку файл уже имеет VirtualHost по умолчанию : 443

0
Sitti Munirah Abdul Razak