«Make_sock: не удалось привязать к адресу [::]: 443» при перезапуске apache (установка trac и mod_wsgi)

63

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

  • 0
    Хорошо, что вы нашли дополнительное предложение Listen. Собирался предложить как можно более вероятную причину, пока я не добрался до вашего редактирования. :-)
  • 3
    Вы можете переписать ваши изменения в ответ и принять его. Это рекомендуемый способ пометить вопрос как «решенный» и не требующий дополнительной поддержки.
Показать ещё 2 комментария
Теги:
mod-wsgi
trac

11 ответов

167
Лучший ответ

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

  • 41
    Спасибо, мой был в /etc/httpd/conf.d/ssl.conf
  • 12
    Я обновил apache с помощью YUM, и он создал новый файл ssl.conf с другим прослушиванием 443 ....
Показать ещё 8 комментариев
13

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

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

6

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

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

  • 0
    Это сделал трюк! В моем случае эта ошибка появилась после yum update :-P
3

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

1

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

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

0

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

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

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

В качестве примечания, сервер, на котором я работаю, работает с RHEL 6

  • 0
    Нечто подобное произошло со мной, поэтому я подумал упомянуть об этом на случай, если это кому-нибудь поможет. Я переименовал ssl.conf, чтобы помнить, что он настроен на использование letsencrypt. Позже я позволил произошедшему незначительному обновлению Apache. Это обновление помещает ssl.conf обратно в conf.d, создавая конфликт в операторах Listen. Не уверен, что с этим делать, кроме как быть бдительным. Если бы я придерживался имени файла ssl.conf по умолчанию, обновление, вероятно, затерло бы его!
0

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

Listen *:443

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

  • 0
    Вы должны использовать 127.0.0.1 только в операторе прослушивания, если хотите ограничить прием соединений только локальным интерфейсом обратной связи хоста. Удаление дублирующего оператора Listen как утверждают многие, является более типичным решением. Если у вас есть дубликаты на *:443 , то изменение одного на 127.0.0.1 не должно было бы иметь никакого значения, так как другое *:443 все равно будет пытаться связать тот же порт на 127.0.0.1 .
0

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

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

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

0

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

  • 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 файл /etc/httpd/conf/
  • Проверено прослушивание IP и порта, например. 10.12.13.4:80
  • Удалены дополнительные порты прослушивания
  • Перезагрузите службу httpd, чтобы принять
0

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

a2dismod ssl

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

service apache2 restart

Ещё вопросы

Сообщество Overcoder
Наверх
Меню