У меня есть несколько поддоменов на моем сервере, и все они дают мне тайм-ауты при контакте с любым http-клиентом (либо в HTTP на 80 или HTTPS на 443, в зависимости от поддомена).
Например : http://test.yosko.net
При обращении напрямую с того же сервера HTTP-запрос работает и регистрируется Apache:
$ wget http://test.yosko.net/
...
2020-08-19 12:34:20 (603 KB/s) - ‘index.html’ saved [6/6]
Но когда это делается из любого другого клиента, я получаю тайм-аут и ничего не могу найти в error.log или access.log Apache.
Сначала я подумал о проблеме с конфигурацией моего certbot для моих поддоменов HTTPS, но, поскольку это то же самое для поддоменов HTTP, я полагаю, что это более широкая проблема. Поскольку на сервере нет прокси или обратного прокси, я не вижу, откуда он.
Это произошло внезапно, без каких-либо изменений с моей стороны несколько дней назад, и с тех пор все работало несколько часов то тут, то там между длительными периодами сбоев.
Есть идеи, как это исправить?
Дополнительная информация: я использую Apache 2.4 на сервере Ubuntu 20.04.
Как было предложено Вот, Я проверил свою ссылку выше на ipv6-test.com и действительно дал тайм-аут. Я полагаю, что мой интернет-провайдер пытается связаться с моим веб-сайтом по IPv6 (где он терпит неудачу), тогда как другие люди все еще пытаются использовать IPv4 (где он работает).
Но теперь я понимаю, что мог бы попробовать сам. От моих клиентов:
$ wget -4 http://test.yosko.net/
...
2020-08-20 09:25:53 (151 KB/s) - «index.html» enregistré [6/6]
$ wget -6 http://test.yosko.net/
...
HTTP request sent, awaiting response... Read error (Connection timed out) in headers.
Мой нынешний /etc/apache2/ports.conf
по умолчанию, прослушивание со всех IP-адресов:
Listen 80
И он действительно работает с IPv6 (см. "tcp6
"упоминание):
$ sudo netstat -lnptu | grep "apache2\W*$"
tcp6 0 0 :::443 :::* LISTEN 89445/apache2
tcp6 0 0 :::80 :::* LISTEN 89445/apache2
И мои хосты тоже:
<VirtualHost *:80>
Я тоже пробовал это, но проблема осталась:
<VirtualHost *:80 [::]:80>
Сайт test.yosko.net разрешает адреса как IPv4, так и IPv6:
triss:~> dig test.yosko.net +short
yosko.net.
91.121.170.211
triss:~> dig test.yosko.net +short aaaa
yosko.net.
2001:41d0:1:ebd3::1
но он даже не отвечает на пинг по IPv6:
triss:~> ping -6 -c 20 test.yosko.net
PING test.yosko.net(2001:41d0:1:ebd3::1 (2001:41d0:1:ebd3::1)) 56 data bytes
--- test.yosko.net ping statistics ---
20 packets transmitted, 0 received, 100% packet loss, time 493ms
Вы уверены, что правильно настроили IPv6 на этом хосте? Если да - установлен ли межсетевой экран и блокирует ли его? Если вы используете туннель - включили ли вы соответствующий протокол в брандмауэре IPv4 и правильно ли установили MTU на интерфейсе туннеля?
А пока я предлагаю удалить запись AAAA для этого имени хоста и повторно включить ее только после того, как будет доказано, что IPv6 работает.