Po pierwsze przepraszam, jeśli wysłałem na niewłaściwą wymianę, naprawdę nie byłem pewien, do czego pasuje to pytanie.
Od dłuższego czasu mam bardzo dziwny problem z moim domowym połączeniem internetowym, który jest zdecydowanie winą mojego routera lub mojego dostawcy usług internetowych, ale mój dostawca usług internetowych jest dość bezradny przy debugowaniu go.
W większości przypadków moje połączenie działa świetnie - bez przestojów i konsekwentnie uzyskuję prawie 100% prędkości, za którą płacę.
Jest jednak jeden konkretny problem: niektóre strony internetowe mają to bardzo dziwne zachowanie, którego ładowanie zajmuje bardzo dużo czasu. Przykładami takich witryn są: en.wikipedia.org, www.canadapost.ca i www.theweathernetwork.com. W przypadku tych witryn za każdym razem, gdy próbuję załadować stronę, na początku nic się nie ładuje, a pasek stanu w przeglądarce Chrome przez bardzo długi czas wyświetla komunikat „Ustanawianie bezpiecznego połączenia.” Błąd dotarcia do tej witryny ”. Jeśli ponownie załaduję i spróbuję ponownie, po kilku latach ostatecznie strona się załaduje, a gdy strona zostanie załadowana, mogę swobodnie przeglądać tę stronę bez żadnych problemów przez około 15 minut, problem wróci.
To nie jest problem z moimi zaporami lub ustawieniami komputera. Próbowałem już wielu rzeczy, aby wyeliminować problem i ustaliłem, że musi to być mój modem-router lub samo połączenie internetowe, ponieważ zdarza się to na wszystkich urządzeniach podłączonych do mojej sieci (komputer stacjonarny, laptop, smartfon itp.) i ze smartfonem po przejściu na dane mobilne problem zniknie.
Złożyłem bilet pomocy technicznej u mojego dostawcy usług internetowych i przeprowadzili mnie przez wszystkie oczywiste kroki (przywrócenie ustawień fabrycznych modemu itp.), A teraz nie są już tak pomocne.
Jedną rzeczą, którą próbowałem przetestować, jest to, że uruchomiłem polecenia curl dla stron internetowych, które mają ten problem i zauważyłem coś; wszystkie strony internetowe mają ten problem, „curl -v [url]” zwraca HTTP 301 zamiast 200.
Czy ktoś ma pojęcie, co do cholery to powoduje, że mogę skierować techników mojego dostawcy usług internetowych we właściwym kierunku?
EDYCJA: Wskazano, że nie uwzględniam https w poleceniach curl, co spowodowało powrót 301. Ale teraz, gdy włączam https, zauważyłem coś interesującego:
Podczas uruchamiania curl -v na stronie https, która nie jest częścią problemu (np. Facebook), kończę na normalnym wyjściu .. ale dla strony internetowej wygląda to tak:
$ 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)
Następnie zawiesza się tam przez bardzo długi czas, a następnie w końcu kontynuuje i kończy się na:
* 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