iOS 11, macOS Hight Sierra で The operation couldn't be completed. Protocol error が出る場合の対処
サイト構成
WordPress のサイトで、Apache の上段に ALB (ELB も同様?) を置く構成です。
(ELB ですが ALB です)
問題
構成自体は結構ありがちな構成になりそうですが、ALB にて SSL を有効にすると iOS 11, macOS Hight Sierra の Safari でのみ一部画像が読み込めなかったりそもそもページが表示されなかったりしました。
Chrome, Android, iOS 10 等の他のブラウザでは特に問題がありませんでした。
macOS Safari の場合は
"The operation couldn't be completed. Protocol error" (NSPOSIXErrorDomain:100)
iOS 11 の場合はインスペクタ経由で確認すると同様のエラーが確認できました。
解決方法
調べてみるとどうやら Apache から出力された Upgrade header がプロキシ経由でブラウザに届くと失敗したりコネクションを破棄したりしてしまうようです。
参考
https://help.poralix.com/articles/iphone-does-not-open-https-site-safari-nsposixerrordomain
解決方法としては、Upgrade header を送らないようにすればいいだけのようなので、ALB の場合 AWS Console の属性に HTTP/2 という項目があるのでそこを無効にすると解決しました。
Author And Source
この問題について(iOS 11, macOS Hight Sierra で The operation couldn't be completed. Protocol error が出る場合の対処), 我々は、より多くの情報をここで見つけました https://qiita.com/ameyamashiro/items/8d4be0f11ffe12472052著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .