Apache를 다시 시작할 때 "make_sock : 주소 [::] : 443에 바인딩 할 수 없습니다"(trac 및 mod_wsgi 설치)


93

SSL을 통해 trac 및 mod_wsgi를 설치하려고합니다. 수동으로 설치하려고했지만 잘되지 않아서 다음을 따르기 시작했습니다 : trac-on-ubuntu

대신 git을 사용하고 싶기 때문에 svn 부분을 건너 뛰었습니다. httpd.conf의 첫 번째 편집 후 :

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

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

이 오류가 발생하기 위해 아파치를 다시 시작했습니다.

* 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
불행하게도, 나는이 문제를 가지고 있지만, 추가 "443 듣기는"...하지 원인
세린

1
나는 똑같은 문제가 있었다. ports.conf에서 최상위 443을 제거하고 apache2를 다시 시작하면 모두 작동합니다.
PrestonDocks

8 년 후 그의 이름을 언급하고 싶지 않은 또 다른 개인이이 문제를 겪게됩니다. 물론 8 년 후 스택 오버플로에 도착한 오류 메시지를 검색합니다. 그래서 그냥 메시지를 광고해야했습니다;)
NME New Media Entertainment

답변:


228

너희들은 이것에 웃을 것이다. 나는 거기에 있으면 안되는 ports.conf에 추가 Listen 443이 있습니다. 그것을 제거하면 이것을 해결했습니다.


44
감사합니다, 광산은 /etc/httpd/conf.d/ssl.conf에 있었다
나빌 Kadimi

15
.... 443을 듣고 나는 YUM와 아파치를 업데이트하고, 다른과 새로운 ssl.conf 파일을 생성
zzarbi

4
감사합니다 ... 언젠가는 구성하는 데 복잡한 골칫거리가 아닌 Apache만큼 널리 배포 된 웹 서버를 원합니다
Mike Pennington 2013

3
필자의 경우 Centos에서 httpd를 업그레이드하면 ssl.conf가 다시 설치되지만 다른 구성 파일에서 Listen 443을 선언합니다. Puppet은 ssl.conf를 제거하지만 puppet은 passenger / httpd에서 실행됩니다. 따라서 꼭두각시 에이전트는 ssl.conf를 제거 할 기회가 없었으므로 여기에 설명 된대로 2 개의 Listen 443 지시문이있었습니다.
rfay

1
certbot을 실행하여 구성 파일에 또 다른 443 항목을 삽입했습니다. 감사!
Senica Gonzalez

16

답변 해 주셔서 감사합니다. 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

httpd.conf 파일 에서 줄을 제거하거나 명령 (Listen 443) 만하면 됩니다.


1
이것은 트릭을했다! 내 경우에는, 그 오류는 이후에 등장 yum update- P
Pathros

15

나는 동일한 문제가 있었고 같은 방식으로 해결했기 때문에 이것에 대한 또 다른 대답을 추가하고 있습니다 : 나는 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>

내가 처음을 주석했다 Listen 443애프터 NameVirtualHost *:443지침 :

NameVirtualHost *:443
#Listen 443

그러나 나는 그것을 허락하고 다른 사람들에게 논평 할 수 있다고 생각합니다. 어쨌든, 해결책에 감사드립니다 :)


4

중복 Listen 지시문이없고 포트에서 실행중인 프로세스가없는 다른 모든 사람 : 실수로 apache2.conf에 ports.conf를 두 번 포함하지 않았는지 확인하십시오 (잘못 병합으로 인해했던 것처럼).


3

나는 아파치 버전 2.4.27을 사용하고, 또한이 문제가 있으며 수정을 통해 해결했습니다.

conf / extra / httpdahssl.conf, 18 줄 내용 (Listen 443 https)을 주석 처리하면 제대로 작동합니다.


이 줄에 주석을 달면 https를 사용할 수 있습니까?
Hamfri

1

/etc/httpd/conf.d 디렉토리의 백업 파일 이름을 잘못 지정했습니다. README에는 모든 .conf 파일을 알파벳순으로 처리한다고 명시되어 있습니다.

ssl- < date > .conf (백업을 의미 함)를 만들었고 ssl.conf 전에로드되었습니다. ssl- < date > .conf를 기반으로 : 443 포트를 바인딩 하고 ssl.conf에서 실패했습니다.

백업 파일의 이름을 ssl.conf. < date >로 변경하면 서비스가 문제없이 시작되었습니다.

참고로 내가 사용중인 서버는 RHEL 6을 실행 중입니다.


이런 일이 나에게 일어났기 때문에 누군가에게 도움이 될 경우에 대해 언급 할 것이라고 생각했습니다. letsencrypt를 사용하도록 설정되었음을 기억할 수 있도록 ssl.conf의 이름을 변경했습니다. 나중에 아파치에 대한 사소한 업데이트라고 생각했던 일이 일어나도록 허용했습니다. 이 업데이트는 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

Grepping 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-> # conf / extra / httpd-ssl.conf 포함

또는 443 포트를 다른 포트로 변경할 수 있습니다.


0

나는 Matthieu 대답을 두 번째로

httpd-ssl 파일에 #Listen 443을 주석으로 달았고 아파치를 시작할 수 있습니다.

파일에 이미 VirtualHost 기본값 이 있기 때문에 : 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 2017-06-04

0

나는 같은 문제가 있었는데, /etc/httpd/conf.d에서 ssl.conf의 여러 사본으로 인해 발생했습니다.-하나만 있어야합니다.


죄송합니다. 이것은 답변이 아닌 댓글입니다. 사례에 대해 알아 낸 솔루션에 대한 자세한 정보가 있으면 알려주십시오.
로버츠 모니카 Cellio 지원
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.