IT박스

Apache 오류 : _default_ 가상 호스트가 포트 443에서 겹칩니다.

itboxs 2020. 12. 3. 07:39
반응형

Apache 오류 : _default_ 가상 호스트가 포트 443에서 겹칩니다.


Apache를 시작하려고 할 때이 오류가 발생합니다.

_default_ 포트 443에서 가상 호스트 겹침

SSL을 설정하려고합니다. 거의 모든 온라인 솔루션은 다음을 추가합니다.

NameVirtualHost *:443

conf 파일에 있지만 Apache는 여전히 시작되지 않고

작업 시작에 실패했습니다. 아파치 로그에 더 많은 정보가있을 수 있습니다.

Apache 로그에 정보가 없습니다.


Debian / Ubuntu 시스템에서 문제를 해결하려면 /etc/apache2/ports.conf설정 파일을 추가 NameVirtualHost *:443하여 수정하십시오 . My ports.conf는 현재 다음과 같습니다.

# /etc/apache/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.

    NameVirtualHost *:443

    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    NameVirtualHost *:443
    Listen 443
</IfModule>

또한 'sites-available / default-ssl' 이 활성화되지 않았 는지 확인하고 사이트a2dissite default-ssl 를 비활성화하려면 입력 하십시오. a2dissite목록을 가져 와서 포트 443에 매핑 될 수있는 다른 사이트 설정이 있는지 확인하기 위해 스스로 입력 합니다.


CentOS에 설치된 바닐라 Apache2에서 mod_ssl을 설치하면 다음 위치에 구성 파일이 자동으로 추가됩니다.

{apache_dir}/conf.d/ssl.conf

이 구성 파일에는 default : 443 이라는 포트 443에 대한 기본 가상 호스트 정의가 포함되어 있습니다 . 443에 대한 자체 가상 호스트 정의 (예 : httpd.conf에 있음)도 있다면 확신 할 수 있습니다. conf.d 파일이 먼저 포함되어 있기 때문에이 파일이 당신의 파일보다 우선합니다.

충돌을 해결하기 위해 가상 호스트 정의를 제거 conf.d/ssl.conf하거나 자체 설정으로 업데이트 할 수 있습니다.


NameVirtualHost *:443SSL을 통해 이름 기반 가상 호스트를 지원할 수있는 상황이 제한되어 있기 때문에 추가 가 올바른 솔루션 일 가능성은 거의 없습니다 . 읽기 몇 가지 자세한 내용은 (거기 더 좋은 문서가있을 수 있습니다, 이러한 내가 그 자세하게 문제를 논의 발견 단지 사람이었다).

비교적 재고가있는 Apache 구성을 실행중인 경우 아마도 다음과 같은 위치에있을 것입니다.

<VirtualHost _default_:443>

가장 좋은 방법은 다음 중 하나입니다.

  • 추가 SSL 구성을이 기존 VirtualHost컨테이너에 배치하거나
  • Comment out this entire VirtualHost block and create a new one. Don't forget to include all the relevant SSL options.

I ran into this problem because I had multiple wildcard entries for the same ports. You can easily check this by executing apache2ctl -S:

# apache2ctl -S
[Wed Oct 22 18:02:18 2014] [warn] _default_ VirtualHost overlap on port 30000, the first has precedence
[Wed Oct 22 18:02:18 2014] [warn] _default_ VirtualHost overlap on port 20001, the first has precedence
VirtualHost configuration:
11.22.33.44:80       is a NameVirtualHost
         default server xxx.com (/etc/apache2/sites-enabled/xxx.com.conf:1)
         port 80 namevhost xxx.com (/etc/apache2/sites-enabled/xxx.com.conf:1)
         [...]
11.22.33.44:443      is a NameVirtualHost
         default server yyy.com (/etc/apache2/sites-enabled/yyy.com.conf:37)
         port 443 namevhost yyy.com (/etc/apache2/sites-enabled/yyy.com.conf:37)
wildcard NameVirtualHosts and _default_ servers:
*:80                   hostname.com (/etc/apache2/sites-enabled/000-default:1)
*:20001                hostname.com (/etc/apache2/sites-enabled/000-default:33)
*:30000                hostname.com (/etc/apache2/sites-enabled/000-default:57)
_default_:443          hostname.com (/etc/apache2/sites-enabled/default-ssl:2)
*:20001                hostname.com (/etc/apache2/sites-enabled/default-ssl:163)
*:30000                hostname.com (/etc/apache2/sites-enabled/default-ssl:178)
Syntax OK

Notice how at the beginning of the output are a couple of warning lines. These will indicate which ports are creating the problems (however you probably already knew that).

Next, look at the end of the output and you can see exactly which files and lines the virtualhosts are defined that are creating the problem. In the above example, port 20001 is assigned both in /etc/apache2/sites-enabled/000-default on line 33 and /etc/apache2/sites-enabled/default-ssl on line 163. Likewise *:30000 is listed in 2 places. The solution (in my case) was simply to delete one of the entries.

참고URL : https://stackoverflow.com/questions/10658017/apache-error-default-virtualhost-overlap-on-port-443

반응형