Мій веб-сервер (Ubuntu, Nginx) має адреси IPv4 та IPv6, призначені хостом. Чи потрібно прив’язати його до свого веб-сайту лише до адреси IPv6? Це стандартний рекомендований спосіб? Або я повинен використовувати як IPv4, так і IPv6 адреси?
Мій веб-сервер (Ubuntu, Nginx) має адреси IPv4 та IPv6, призначені хостом. Чи потрібно прив’язати його до свого веб-сайту лише до адреси IPv6? Це стандартний рекомендований спосіб? Або я повинен використовувати як IPv4, так і IPv6 адреси?
Відповіді:
Ви повинні використовувати як IPv4, так і IPv6 адреси.
Майже кожен в Інтернеті наразі має адресу IPv4 або позаду якоїсь NAT і може отримати доступ до ресурсів IPv4.
Однак на момент написання лише близько 0,7% 2,3% 3,8% 6,5% 9% 12% 19% 22% 26% Інтернету здатні підтримувати IPv6 , але це число постійно зростає, коли IPv6 починає розгортатися у всьому світі.
В небагатьох місцях Інтернет-провайдери надають головним чином IPv6 або лише IPv6 приватним клієнтам та використовують широкомасштабні NAT, NAT64 або інші подібні рішення для підключення IPv4. Очікується, що ця кількість зросте, коли остаточно вичерпано адресний простір IPv4. Ці користувачі, як правило, мають кращу продуктивність порівняно з IPv6.
Там, де провайдери розгорнули широкомасштабний NAT для вирішення вичерпання IPv4, користувачі, що затримуються при цьому, будуть страждати від зниженої надійності всіх своїх інтернет-з'єднань через обмеження підключення, властиві широкомасштабним NAT-шлюзам. Наприклад, веб-сторінка може завантажувати лише деякі, але не всі її ресурси , залишаючи зламані піктограми там, де мають бути зображення, відсутні стилі та сценарії тощо. Це схоже на обмеження вичерпання з'єднання на домашньому маршрутизаторі, але впливає на всіх користувачів ISP з перервами і, здавалося б, випадковим чином. Якщо ви хочете, щоб ваш сайт був надійним для цих користувачів, ви повинні обслуговувати його через IPv6 (а провайдер повинен мати розгорнутий IPv6).
Оскільки IPv6 - це куди йде Інтернет, включення вашого веб-сайту IPv6 тепер випереджає гру та дозволяє вирішувати будь-які проблеми задовго до того, як вони стануть серйозними.
За замовчуванням з Linux та nginx ви можете одночасно прив’язатись до IPv4 та IPv6, змінивши свої listen
директиви на:
listen [::]:80;
listen 80;
Або для SSL-сайтів:
listen [::]:443 ssl;
listen 443 ssl;
A
запис призначений для вашої IPv4-адреси, а AAAA
запис - для вашої IPv6-адреси.
listen 443;
також бути таким, ssl
як listen [::]:443 ssl;
? Тож listen 443 ssl;
замість listen 443;
.
Прив’яжись до обох!
У нас був веб-сайт IIS, код якого внутрішньо посилався на себе, використовуючи ім'я DNS, яке використовував клієнт. Цей процес завжди був би невдалим.
Ще одним симптомом було те, що браузер, який працює локально на сервері, не міг знайти веб-сайт за іменем сервера, лише за IPv4 адресою. Тобто, http://192.168.55.139
працювало б, але http://myhost
провалилося б. Використання ping myhost
за замовчуванням поверне IPv6 адресу ( ping myhost -4
поверне IPv4 адресу).
Виправлення полягало в тому, щоб відкрити IIS та змінити Прив'язки веб-сайту, щоб прив'язати до IPv6-адреси, а також IPv4-адреси.
Winnovative HTML to PDF Converter
.
Host
заголовок з доменним іменем, яке не належить вам.