8

Прежде всего, я прошу прощения, если я отправил неправильный обмен, я действительно не был уверен, где этот вопрос подходит.

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

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

Однако есть одна конкретная проблема: некоторые веб-сайты ведут себя очень странно, так как их загрузка занимает очень много времени. Примерами таких сайтов являются en.wikipedia.org, www.canadapost.ca и www.theweathernetwork.com. На этих веб-сайтах, когда я пытаюсь загрузить страницу, сначала вообще ничего не загружается, и строка состояния в Chrome очень долго будет читать «Установление безопасного соединения…», и в конечном итоге это даст мне сообщение ». Этот сайт не может быть достигнут "ошибка. Если я перезагрузлю и попытаюсь снова, через несколько раз, в конце концов, сайт загрузится, и как только этот сайт загрузится, я могу свободно просматривать этот сайт в течение 15 минут или около того, и проблема вернется.

Это не проблема с настройками брандмауэра или компьютера. Я уже пробовал множество вещей, чтобы отсеять, в чем проблема, и я определил, что это должен быть либо мой модем-маршрутизатор, либо само интернет-соединение, потому что это происходит со всеми устройствами, подключенными к моей сети (настольный компьютер, ноутбук, смартфон и т. д.) и с моим смартфоном, когда я переключаюсь на мобильные данные, проблема исчезает.

Я подал заявку в службу поддержки с моим провайдером, и они провели меня через все очевидные шаги (сброс настроек модема и т.д.), И теперь они не так уж полезны.

Я попытался протестировать одну вещь: я запустил команды curl для веб-сайтов, на которых возникла эта проблема, и я кое-что заметил; со всеми веб-сайтами, имеющими эту проблему, "curl -v [url]" возвращает HTTP 301 вместо 200.

Кто-нибудь имеет какие-либо идеи, что, черт возьми, вызывает это, чтобы я мог направить техников моего провайдера в правильном направлении?

РЕДАКТИРОВАТЬ: было отмечено, что я не включил https в команды curl, что привело к возвращению 301. Но теперь, когда я включаю https, я заметил кое-что интересное:

При запуске curl -v на сайте https, который не является частью проблемы (такой как facebook), я получаю нормальный вывод ... но для сайта, который выглядит следующим образом:

$ curl -v https://www.canadapost.ca
* STATE: INIT => CONNECT handle 0x600057810; line 1413 (connection #-5000)
* Rebuilt URL to: https://www.canadapost.ca/
* Added connection 0. The cache now contains 1 members
*   Trying 2600:140a:0:18a::1dc5...
* TCP_NODELAY set
* STATE: CONNECT => WAITCONNECT handle 0x600057810; line 1466 (connection #0)
*   Trying 23.34.200.189...
* TCP_NODELAY set
* Connected to www.canadapost.ca (2600:140a:0:18a::1dc5) port 443 (#0)
* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x600057810; line 1583 (connection #0)
* Marked for [keep alive]: HTTP default
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* STATE: SENDPROTOCONNECT => PROTOCONNECT handle 0x600057810; line 1597 (connection #0)

Затем он висит там очень долго, а затем, в конце концов, продолжается и заканчивается:

* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=CA; ST=Ontario; L=OTTAWA; O=Canada Post Corporation; OU=Akamai SAN SSL OV; CN=www.canadapost.ca
*  start date: Jan 13 00:00:00 2017 GMT
*  expire date: Jan 13 23:59:59 2018 GMT
*  subjectAltName: host "www.canadapost.ca" matched cert's "www.canadapost.ca"
*  issuer: C=US; O=GeoTrust Inc.; CN=GeoTrust SSL CA - G3
*  SSL certificate verify ok.
* STATE: PROTOCONNECT => DO handle 0x600057810; line 1618 (connection #0)
> GET / HTTP/1.1
> Host: www.canadapost.ca
> User-Agent: curl/7.54.0
> Accept: */*
>
* STATE: DO => DO_DONE handle 0x600057810; line 1680 (connection #0)
* STATE: DO_DONE => WAITPERFORM handle 0x600057810; line 1807 (connection #0)
* STATE: WAITPERFORM => PERFORM handle 0x600057810; line 1817 (connection #0)
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 301 Moved Permanently
* Server AkamaiGHost is not blacklisted
< Server: AkamaiGHost
< Content-Length: 0
< Location: https://www.canadapost.ca/web/en/home.page
< Date: Mon, 22 May 2017 22:01:55 GMT
< Connection: keep-alive
< Strict-Transport-Security: max-age=31536000
<
* STATE: PERFORM => DONE handle 0x600057810; line 1991 (connection #0)
* multi_done
* Connection #0 to host www.canadapost.ca left intact
* Expire cleared

2 ответа2

5

Это было вызвано IPv6. Я отключил его на своем маршрутизаторе и установил только IPv4, и проблема исчезла.

2

Все эти три сайта работают только по протоколу HTTPS. Если вы запускаете адреса http:// , эти сайты сообщают вашему браузеру, что они постоянно переходят на https с сообщениями 301. Это будет частью сообщения 301. Вы можете получить дополнительные перенаправления, которые добавляют путь к странице по умолчанию. 301 редирект, скорее всего, красная сельдь.

Такие длительные задержки часто встречаются, если у вас есть проблемы с подключением DNS. Однако я ожидаю, что это произойдет с первой попытки.

Все эти сайты поддерживают IPv6. Если кажется, что у вас есть возможность IPv6, Chrome, скорее всего, попытается использовать IPv6, а не iPv4 для подключения. Согласование HTTPS может включать несколько подключений к разным серверам. Если какой-либо из них заблокирован или отключен, это может привести к задержкам.

Может помочь использование инструментов разработчика Chome (Ctrl Shift i. Выберите вкладку Сеть, которая покажет вам время загрузки компонентов страницы. Наведите указатель мыши на первое медленное соединение для получения подробной информации о времени.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .