ipv6와 함께 작동하도록 apache virtualhost를 설정하는 방법은 무엇입니까?


10

1 ipv4 주소와 몇 개의 ipv6 주소를 가진 서버가 있습니다. 하나의 도메인은 다음과 같이 apache ports.conf를 설정 한 ipv4 A 레코드로 리디렉션됩니다.

Listen ip.v4.address:80
NameVirtualHost ip.v4.address:80

가상 호스트 파일 :

<VirtualHost ip.v4.address:80>
DocumentRoot /var/www/first/
ServerName first.domain
ServerAlias www.first.domain
ErrorLog ...
CustomLog ...
</VirtualHost>

그리고 모든 것이 잘 작동합니다.

이제 두 번째 IP로 두 번째 도메인에 대한 새 가상 호스트를 만들고 싶습니다. 두 번째 도메인을 ipv6 AAAA 레코드로 리디렉션하고 ports.conf에 추가하십시오.

Listen [ip.v6.address]:80
NameVirtualHost [ip.v6.address]:80

새로운 가상 호스트 파일을 생성합니다 :

<VirtualHost [ip.v6.address]:80>
DocumentRoot /var/www/second/
ServerName second.domain
ServerAlias www.second.domain
ErrorLog ...
CustomLog ...
</VirtualHost>

Apache를 다시 시작하십시오. 서버 시작시 오류가 없지만 작동하지 않습니다. 브라우저에서 두 번째 도메인을 입력하면 서버를 찾을 수 없습니다. [ip.v6.address]사이트에 들어가면 나타납니다.

어떤 도움?


도와 주셔서 감사합니다. IPv6이 정확하고 두 개의 다른 사이트가 필요합니다. 이 AAAA 레코드를 설정 한 도메인 공급 업체에 문의했습니다. 그들은 그것을 설정하는 데 24 시간이 걸릴 수 있으며 여기에 문제가 있다고 말했다. A 레코드를 설정할 때 그 효과는 거의 즉시 나타 났으며 AAAA도 같은 방식으로 작동한다고 생각했습니다.
쉘디

당신이 좋아하는 답변을 표시했다면 도움이 되려고 노력한 사람들이 그렇게하기위한 보상을 얻을 수
있다면 좋을 것입니다

답변:


12

아파치 설정은 정확 해 보이지만 IPv4와 IPv6 (이중 스택)을 통해 하나의 사이트에 접근 할 수있게하려면 필요한 것보다 조금 더 복잡합니다.

대신에

<VirtualHost ip.v4.address:80>
...
</VirtualHost>

<VirtualHost [ip.v6.address]:80>
...
</VirtualHost>

넌 할 수있어

<VirtualHost ip.v4.address:80 [ip.v6.address]:80>
...
</VirtualHost>

이렇게하면 단일 가상 호스트가 두 IP 주소를 모두 수신합니다. 유지 관리가 훨씬 쉽습니다!

IPv6에서 다른 사이트를 원한다면 구성이 올바른 것입니다.


2
아니면 <VirtualHost * : 80>?
쿠스 반 덴 호우 트

2
그것은 물론 잘 작동 할 수 있지만, 그의 예제에서 IP 주소를 명시 적으로 지정했기 때문에 나는 그렇게했습니다. IP 주소에 신경 쓰지 않고 Host : 헤더로 모든 것을하고 싶다면 솔루션이 훨씬 쉽습니다. SSL / TLS 사이트를 조심하십시오. TLS / SNI (Server Name Indication)가 사용자 기반에서 작동하는지 확인해야합니다.
샌더 스테판

4

이것은 Apache 오류가 아닌 IPv6 이름 확인 오류처럼 들립니다. 이름이 주소로 올바르게 확인되는지 확인하십시오.


3

이름이 올바른 IPv6 주소로 확인됩니까? 이것은 도메인 확인에 문제가있는 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.