PHP 슈퍼 글로벌 $_SERVER['REMOTE_ADDR']
을 사용하여 IPv4에서 클라이언트 IP 주소를 얻고 싶습니다. 그러나 localhost에서 테스트 할 때 ::1
과 같은 IPv6 주소를 반환합니다.아파치가 IPv4를 사용하도록하는 방법
Mac OS 기본 Apache 서버를 사용합니다. 이게 관련이 있니? 그렇다면 대신 IPv4 형식을 사용하도록 강제 할 수 있습니까?
PHP 슈퍼 글로벌 $_SERVER['REMOTE_ADDR']
을 사용하여 IPv4에서 클라이언트 IP 주소를 얻고 싶습니다. 그러나 localhost에서 테스트 할 때 ::1
과 같은 IPv6 주소를 반환합니다.아파치가 IPv4를 사용하도록하는 방법
Mac OS 기본 Apache 서버를 사용합니다. 이게 관련이 있니? 그렇다면 대신 IPv4 형식을 사용하도록 강제 할 수 있습니까?
그것은 항상 어떤 프로토콜을 결정하는 클라이언트입니다 서버가 아닌 사용합니다. 클라이언트는 호스트 이름을 찾아 사용 가능한 프로토콜을 결정합니다. 이것은 종종/etc/hosts 파일에서 이름이 정의되어 있는지 확인합니다. 그렇지 않은 경우 DNS 요청을 사용하여 이름을 확인합니다.
localhost라는 이름은/etc/hosts에 정의되어 있으며 IPv4 (127.0.0.1)와 IPv6 주소 (:: 1)를 모두 포함하고 있기 때문에 클라이언트는 둘 다 사용할 수 있다고 알려줍니다. 테스트 용으로 IPv4 전용을 사용하려면/etc/hosts에 이름을 추가 할 수 있습니다. 배포 용인 경우 DNS 서버가 IPv4 주소로만 응답하는지 확인해야합니다. 물론 올바른 호스트 이름과 일치하도록 Apache 구성을 조정해야합니다.
그러나 이것은 모두 문제를 해결하기위한 것입니다. IPv6 주소을 처리 할 수 있어야합니다.
IPv6는 전 세계적으로 채택되고 있으며 로컬 호스트에 나타나는 IPv6 주소는 그 중 하나의 작은 예일뿐입니다. 비즈니스와 관련된 모든 데이터 센터는 호스팅 서버에 IPv6을 제공합니다. 루마니아의 거의 10 %가 집에서 IPv6를 사용합니다. 미국의 거의 2 %가 집에서 IPv6을 사용합니다. 네덜란드에는 이미 사용자에게 IPv6을 제공하는 ISP가 4 곳 이상 있습니다. 기타
현재 프로젝트에서 IPv6에 대한 지원을 제공하지 않으면 1 년 또는 2 년 이내에 무언가가 깨질 가능성이 커집니다.
숫자에 대한 업데이트입니다. 2015 년 1 월 기준 상위 3 위 : 벨기에의 30.5 %가 현재 IPv6에 액세스 할 수 있으며 독일의 12.6 %와 미국의 11 %를 보유하고 있습니다. –
할 수 있습니다하지지도 동등한의 IPv4 주소에 대한 모든 IPv6의 주소 .. 당신은뿐만 아니라 IPv6에 대한 코드를 적용 할 필요가
..
이것은 "형식"이 아닙니다. 연결이 IPv4가 아닌 IPv6 루프백으로 들어 왔습니다. ':: 1'은 올바른 주소입니다. IPv4 및 IPv6 주소는 동일한 네트워크 노드에 대한 주소의 형식 만이 아닙니다. – Brad
우리는 2012 년, 거의 2013 년을 맞이합니다. IPv6 익숙해지기 시작하는 시간 ... – glglgl