IvanIlyasov
@IvanIlyasov
Познаю мир

Сайт на http/2. Как открывать определенные страницы через http/1.1?

Весь Гугл перерыл, ничего не нашел.
В общем, настроен http/2.
Задача:
Открывать определенные страницы (начинающиеся с https://site.ru/somepage/) через протокол http/1.1
Конфиг
server {
    listen      ip_address:443 ssl http2;
    server_name site.ru www.site.ru;
    ssl         on;
    add_header Strict-Transport-Security "max-age=31536000;" always;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_certificate      /home/admin/conf/web/ssl.sit.ru.pem;
    ssl_certificate_key  /home/admin/conf/web/ssl.site.ru.key;
    error_log  /var/log/apache2/domains/site.ru.error.log error;
}
Зачем? На http/2 имеется проблема открытия файлов на iPhone в браузере Safari. На http1.1 всё работает, на http2 - нет.
Файлы через php передаю так
header('Content-Description: File Transfer');
        header('Content-Transfer-Encoding: binary');
        header('Content-Type: application/epub+zip');
        header('Content-Length: '.filesize($file));
        header('Content-Disposition: attachment; filename="'.$filename.'"');
        // force to disable caching
        header("Cache-Control: no-cache, no-store, max-age=0, must-revalidate"); // HTTP/1.1
        header("Pragma: no-cache"); // For old clients http/1.0
        header("Expires: -1"); // ensure that clients immediately treat this response as stale and avoid caching
	header("X-XSS-Protection: 1; mode=block");
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
kotomyava
@kotomyava
Системный администратор
В nginx, на уровне location невозможно выбрать протокол, только на уровне всего виртуального хоста(а на самом деле, даже порта, если не исправили ещё). Так что, либо откатываться полностью на http 1.1, либо мириться с проблемой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы