IPhone / iPad не будет загружать хостинг веб-сайтов или субдоменов за AWL ELB - PullRequest
0 голосов
/ 07 мая 2020

Я столкнулся с сложной проблемой, когда веб-сайт, размещенный на экземпляре EC2 за ELB на AWS, не загружался ни на каких мобильных I-устройствах. Сайт отлично загрузился во всех браузерах на рабочем столе.

Мой EC2 работает под управлением Centos с Apache.

Нет сообщения об ошибке, Safari просто отображает пустую страницу, и адресная строка будет Чисто. Chrome отображает сообщение «ERR_FAILED».

1 Ответ

0 голосов
/ 07 мая 2020

Я боролся с этой проблемой в течение нескольких дней и не смог найти много информации в Интернете, поэтому я хотел поделиться своим решением.

Я обнаружил, что запуск

curl "https://example.com" 

вернул

HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

После дополнительных исследований я обнаружил, что

Балансировщики нагрузки приложений обеспечивают встроенную поддержку HTTP / 2 с прослушивателями HTTPS. Вы можете отправлять до 128 запросов параллельно, используя одно соединение HTTP / 2. Балансировщик нагрузки преобразует их в отдельные запросы HTTP / 1.1 и распределяет их по работоспособным целевым объектам целевой группы. Поскольку HTTP / 2 более эффективно использует внешние подключения, вы можете заметить меньшее количество подключений между клиентами и балансировщиком нагрузки. Вы не можете использовать функцию server-pu sh HTTP / 2. [источник]

Решение: отредактируйте http.conf, чтобы отключить HTTP / 2

изменить

Protocols h2 h2c http/1.1

на

Protocols http/1.1
...