AWS で EC2 + RDS + ELB などで構成したWebサイトをiPhoneで開こうとすると
なぜか「ページを開けません。サーバーが見つかりません。」と表示されて開けない問題に直面しました
端末側の問題だと思い、以下のことを実施しましたが解決せず。
- 「ホーム画面」→「設定アプリ」→「スクリーンタイム」→「コンテンツとプライバシーの制限」をオンにし、
「コンテンツとプライバシーの制限」画面にて「コンテンツ制限」を選択し、
「許可されたWebサイトのみ」から「無制限アクセス」を選択します - 「ホーム画面」→「設定アプリ」→「Safari」→「履歴とWebサイトデータを消去」を選択します
- 「ホーム画面」→「設定アプリ」→「Safari」→「Safari検索候補」をオフにします
- 「ホーム画面」→「設定アプリ」→「Safari」→「コンテンツブロッカー」をオフにします
- 端末を再起動します
結果的にこちら( https://qiita.com/ameyamashiro/items/8d4be0f11ffe12472052 )のページに辿り着き、
ELB における HTTP/2 の設定が有効となっているのが原因のようだったので、
HTTP/2 を無効にしたら無事 iPhone からページを表示することが出来ました。
設定手順は、
EC2 → ロードバランサー へ遷移し、説明タブの下方にある「属性の編集」ボタンを押し、
HTTP/2 の「有効化」チェックボックスのチェックを外して保存すればOKです。
HTTP/2 を使うことで画像、Javascript、CSSなどのファイルを並列処理で受け取れるのでページの表示速度は上がりますが、このような落とし穴もあるので、皆様お気をつけください。