Покажу как быстро и просто включить поддержку IPv6 в Nginx.
Допустим IPv6 адрес на сервер уже получен и имеется конфигурации нескольких сайтов в nginx:
server {
listen 80 default_server;
server_name ixnfo.com;
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl default_server;
...
}
server {
listen 80;
server_name ixnfo2.com;
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl;
...
}
Теперь чтобы nginx слушал соединения на IPv6 адресе, просто добавим в конфигурацию:
listen [::]:80;
listen [::]:443;
Например:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name ixnfo.com;
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
...
}
server {
listen 80;
listen [::]:80;
server_name ixnfo2.com;
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
...
}
Если что, параметр default_server указывается только для одного сайта, его нельзя указывать больше одного раза, он нужен например когда для какого-то домена нет конфигурации, тогда веб сервер будет использовать конфигурацию где default_server.
Проверим корректность конфигурации, перезапустим nginx и проверим доступность сайта по IPv6:
nginx -t
systemctl restart nginx
curl -6 http://ixnfo.com
Смотрите другие мои статьи про nginx