web-dev-qa-db-ja.com

非常に奇妙なネットワークの問題-特定のサイトが読み込まれない

まず、間違ったエクスチェンジに投稿したことをお詫びします。この質問がどこに当てはまるのか本当にわかりませんでした。

かなり長い間、私は自宅のインターネット接続に非常に奇妙な問題を抱えてきました。これは間違いなくルーターまたはISPのせいですが、私のISPはデバッグにまったく無力です。

ほとんどの場合、接続は適切に機能します。ダウンタイムは発生せず、支払っている速度のほぼ100%が一貫して得られます。

ただし、特定の問題が1つあります。一部のWebサイトには、非常に奇妙な動作があり、ロードに非常に長い時間がかかります。このようなWebサイトの例は、en.wikipedia.org、www.canadapost.ca、www.theweathernetwork.comです。これらのウェブサイトでは、ページを読み込もうとすると、最初は何も読み込まれず、Chromeのステータスバーに「安全な接続を確立しています...」と非常に長い間表示されます。 、そして最終的には「このサイトにアクセスできません」というエラーが表示されます。リロードして再試行すると、数回後に最終的にサイトがロードされ、そのWebサイトがロードされると、そのWebサイトを閲覧できます約15分間問題なく自由に使えば、問題は再発します。

ファイアウォールやPCの設定に問題はありません。ネットワークに接続されているすべてのデバイス(デスクトップ、ノートパソコン、スマートフォンなど)と私のスマートフォンでは、モバイルデータに切り替えると問題がなくなります。

私はISPにサポートチケットを提出しました。彼らは私にすべての明白な手順(モデムの工場出荷時のリセットなど)を案内してきましたが、今はそれほど役に立ちません。

テストを行うために私がやったことの1つは、この問題が発生しているWebサイトに対してcurlコマンドを実行し、何かに気付いたことです。この問題のあるすべてのWebサイトで、「curl -v [url]」は200ではなくHTTP 301を返します。

誰が地獄がこれを引き起こしているのか考えているので、ISPの技術者を正しい方向に向けることができますか?

編集:カールコマンドにhttpsが含まれていないことが指摘されたため、301が返されました。しかし、今私はhttpsを含めているので、何か面白いことに気づきました:

問題の一部ではないhttpsサイト(facebookなど)に対してcurl -vを実行すると、通常の出力が得られますが、Webサイトの場合は次のようになります。

$ 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
8
user1072692

最終的にはIPv6が原因です。ルーターで無効にしてIPv4のみに設定したところ、問題は解決しました。

4
user1072692

これらの3つのサイトはすべてHTTPSのみであるように見えます。どのhttp://アドレスを開始している場合、これらのサイトは、301メッセージでhttpsに恒久的に移動したことをブラウザに通知しています。これは、301メッセージの一部になります。デフォルトのページのパスを追加する追加のリダイレクトを取得する場合があります。 301リダイレクトは、おそらくニシンです。

DNSの接続性に問題がある場合は、このような長い遅延が一般的です。しかし、私はそれが最初の試みで起こることを期待します。

これらのサイトはすべてIPv6対応です。 IPv6機能があると思われる場合、chromeは、iPv4ではなくIPv6を使用して接続しようとする可能性があります。HTTPSのネゴシエーションは、異なるサーバーへの複数の接続を伴う可能性があります。これらのいずれかがブロックまたはダウンしている場合、遅延を引き起こします。

Chome Developer Tools(CtrlShifti。ページコンポーネントの読み込み時間を表示する[ネットワーク]タブを選択します。タイミングの詳細については、最初の低速接続にカーソルを合わせてください。

2
BillThor