jQuery CDN が(条件付きで)死んでいた3日間
modified: 2019-08-17
2019/08/17〜19 の未明にかけて code.jquery.com へのリクエストが 403 エラーとなり、CDN から jquery.js を読んでいるサイトが使えなくなっていました。
$ curl https://code.jquery.com -I HTTP/1.1 403 Forbidden Date: Sun, 18 Aug 2019 03:13:31 GMT Connection: close Accept-Ranges: bytes Cache-Control: max-age=10 Content-Length: 0 X-HW: 1566098011.dop003.tk2.t,1566098011.cds004.tk2.shn,1566098011.cds004.tk2.c
ちょうど jQuery CDN が IPv6 Reachable になったようで、その影響らしい。
Good news: jQuery now supports native IPv6 on their CDN https://t.co/iCrIQF2eB6
— Matt Doran (@themattdoran) August 17, 2019
Good news、じゃないよもう。
発生条件
- 日本?(一部リージョン)のみ
- IPv6 有効
- HTTPS
- code.jquery.com
自分の環境だとなぜか IPv4 でリクエストする場合もあり、リロードで読めたり読めなかったりすることがあったり。
原因と状況
-
StackPath という CDN プロバイダを使っており、設定ミスだったもよう。(参考: jquery/codeorigin.jquery.com - GitHub)
対策
他(Google等)の CDN に切り換えたりしてしのいだサイトも多かったようですが、CDN を過信しすぎるのも考えものですね…。固定の js ならサイズも大したことないし CDN 使うメリットあるのかな、って思います。CDNサーバに不具合があった場合にjQueryの読み込みをフォールバックする方法もあるようですので、一考の余地ありかもしれません。