Pull to refresh

IPv6 адрес для сайта на хостинге не имеющего своего IPv6

Данный топик претендует скорее к экспериментальной части, чем к практической.

Наблюдая за начавшимся вокруг IPv6 легким ажиотажем здесь на хабре, да и вообще в сети решился поэкспериментировать с ipv6.
После поднятия туннеля опираясь на эту статью задумался над вопросом о доступности сайта нашей компании для тех кто уже рискнул отказаться от IPv4 (Сомневаюсь что среди наших потенциальных клиентов такие имеются).

Данное решение не сыграет в пользу скорости, а порой может и сыграть отрицательно.



Для решения данной задачи мне понадобилось.

  • Сервер имеющий свой IPv6
  • Apache2
  • mod_proxy для Apache2


Предполагается что все вышеуказанное у вас в наличии имеется.

Для начала создадим виртуальный хост на нашем сервере со следующим содержимым

<VirtualHost *:80>
# Домен который должен получить ipv6 с www и без
ServerName corporatesite.ru
ServerName www.corporatesite.ru
<Proxy *>
Order Allow,Deny
Allow from all

# Проксируем доступ к нему
ProxyPass / corporatesite.ru
ProxyPassReverse / corporatesite.ru



далее во избежании 500 ошибки сервера нам необходимо убедить сервер обращаться к corporatesite.ru по IPv4 адресу.

Для этого мы можем прописать ip с сайтом в файл /etc/hosts
aa.bb.cc.dd corporatesite.ru


или забить перманентно в кеширующий dns-сервер, что не является хорошей идеей так как придется переносить всю зону.

После этого мы можем перезагрузить apache2
service apache2 reload


И установить AAAA запись в панели управления вашим доменом.
@ AAAA aaaa:aaaa:aaaa::1


Важно учесть что данная запись направит все поддомены на наш прокси, то есть если у вас присутствуют поддомены, то необходимо для каждого из них так же создать виртуальный хост и принудительную запись в /etc/hosts файле.

Спасибо за внимание.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.