Apache 2.2는 ipv6 주소로 시작되지 않습니다.

Apache 2.2는 ipv6 주소로 시작되지 않습니다.

특정 폴더의 로컬 호스트만 허용하려고 하는데 ipv4( Allow from 127.0.0.1)에서 완벽하게 작동하지만 ipv6( )을 추가하자마자 Allow from [::1]Apache가 더 이상 시작되지 않습니다.

확인해 보니 다음 error.log과 같습니다.

지정된 IP 주소가 잘못되었습니다.

이미 압축 형식 없이 ipv6 주소를 입력했지만 작동하지 않았습니다.

저는 Apache 2.2.25, Windows 8.1을 사용하고 있습니다. 내 컴퓨터에서 IPv6가 활성화되었습니다.

답변1

IPv6 주소를 대괄호로 묶는 표기법은 주소와 선택적 포트 번호 사이에 혼동이 있을 수 있는 경우에만 사용됩니다.

한 가지 예는 다음과 같습니다.Listen지령. 주소와 포트를 모두 지정할 수 있으므로 혼동을 피하기 위해 대괄호를 추가해야 합니다. 는 및 를 Listen 2001:db8::1:8080모두 의미할 수 있으므로 유효하지 않습니다 . 괄호를 사용하면 이를 명시적으로 알 수 있습니다.Listen [2001:db8::1]:8080Listen [2001:db8::1:8080]

에 대한Allow from지시서는 그렇지 않습니다. 주소를 지정할 때 항상 포트 번호가 없는 주소입니다. 그러므로 Allow from 2001:db8::1:8080결코 모호하지 않습니다. 항상 IPv6 주소입니다 2001:db8::1:8080.

대괄호( )를 생략하면 Allow from ::1작동합니다.

답변2

<VirtualHost *:80>가상 호스트 hev 는 ipv4 및 ipv6 모두에 대한 액세스를 허용하는 이와 같이 정의됩니다 .

또한 Apache 문서에서는 ipv6 제한에 다음 형식을 사용합니다. Allow from 2001:db8::a00:20ff:fea7:ccea 아파치 문서

관련 정보