ก่อนอื่นฉันต้องขออภัยถ้าฉันโพสต์ไปยังการแลกเปลี่ยนที่ผิดฉันไม่แน่ใจว่าคำถามนี้เหมาะกับที่ใด
สำหรับบางครั้งฉันได้รับปัญหาที่แปลกมากนี้กับการเชื่อมต่ออินเทอร์เน็ตที่บ้านของฉันซึ่งแน่นอนว่าเป็นความผิดของเราเตอร์หรือ ISP ของฉัน แต่ ISP ของฉันไม่สามารถแก้ไขข้อบกพร่องได้
ส่วนใหญ่การเชื่อมต่อของฉันใช้งานได้ดี - ไม่หยุดทำงานและฉันได้รับความเร็วที่ฉันจ่ายไปอย่างต่อเนื่อง
อย่างไรก็ตามมีปัญหาหนึ่งคือ: บางเว็บไซต์มีพฤติกรรมที่แปลกมากซึ่งพวกเขาจะใช้เวลาโหลดนานมาก ตัวอย่างของเว็บไซต์ดังกล่าว ได้แก่ en.wikipedia.org, www.canadapost.ca และ www.theweathernetwork.com กับเว็บไซต์เหล่านี้เมื่อใดก็ตามที่ฉันพยายามโหลดหน้าเว็บในตอนแรกไม่มีอะไรจะโหลดเลยและแถบสถานะใน Chrome จะอ่าน "การสร้างการเชื่อมต่อที่ปลอดภัย .. " เป็นเวลานานมากและในที่สุดมันก็จะให้ฉัน " ข้อผิดพลาด "ไม่สามารถเข้าถึงเว็บไซต์นี้ได้ หากฉันโหลดซ้ำและลองอีกครั้งหลังจากนั้นสองสามครั้งในที่สุดเว็บไซต์จะโหลดและเมื่อโหลดเว็บไซต์แล้วฉันสามารถเรียกดูรอบ ๆ เว็บไซต์ได้อย่างอิสระโดยไม่มีปัญหาประมาณ 15 นาทีหรือมากกว่านั้นจากนั้นปัญหาจะกลับมา
ไม่มีปัญหากับการตั้งค่าไฟร์วอลล์หรือพีซีของฉัน ฉันได้ลองหลายสิ่งหลายอย่างเพื่อกำจัดสิ่งที่เป็นปัญหาและฉันได้พิจารณาแล้วว่ามันจะต้องเป็นโมเด็มเราเตอร์หรืออินเทอร์เน็ตของฉันเองเพราะมันเกิดขึ้นกับอุปกรณ์ทั้งหมดที่เชื่อมต่อกับเครือข่ายของฉัน (เดสก์ท็อปแล็ปท็อป สมาร์ทโฟน ฯลฯ ) และกับสมาร์ทโฟนเมื่อฉันเปลี่ยนเป็นข้อมูลมือถือปัญหาจะหายไป
ฉันได้ยื่นตั๋วการสนับสนุนกับ ISP ของฉันแล้วและพวกเขาก็พาฉันผ่านขั้นตอนที่ชัดเจนทั้งหมด (รีเซ็ตเป็นโมเด็มจากโรงงาน ฯลฯ ) และตอนนี้พวกเขาไม่ได้มีประโยชน์อย่างนั้น
สิ่งหนึ่งที่ฉันพยายามทดสอบคือฉันใช้คำสั่ง curl สำหรับเว็บไซต์ที่มีปัญหานี้และฉันสังเกตเห็นบางอย่าง กับเว็บไซต์ทั้งหมดที่มีปัญหานี้ "curl -v [url]" จะส่งคืน HTTP 301 แทนที่จะเป็น 200
ใครมีความคิดว่าอะไรเป็นสาเหตุของเรื่องนี้ดังนั้นฉันสามารถชี้ช่างเทคนิค ISP ของฉันไปในทิศทางที่ถูกต้องได้ไหม?
แก้ไข: มันชี้ให้เห็นว่าฉันไม่ได้รวม 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