Chrome игнорирует заголовок alt-sv c и не отправляет запросы HTTP / 3 - PullRequest
1 голос
/ 07 мая 2020

Я пытался настроить веб-сервер на локальном хосте, который поддерживает HTTP / 3. Я успешно запустил сервер caddy, запущенный в docker, который отвечает на запросы GET с этим заголовком:

alt-svc: h3-27=":443"; ma=2592000
content-encoding: gzip
content-length: 1521
content-type: text/html; charset=utf-8
date: Thu, 07 May 2020 07:27:44 GMT
server: Caddy
status: 200
vary: Accept-Encoding
X-DNS-Prefetch-Control: off

Несмотря на то, что заголовок alt-scv был получен, я не мог обнаруживать любые запросы h3-27 в сетевых журналах инструментов разработчика.

Также создал CA, который я добавил к chrome, и подписал сертификат сервера, который принимает Chrome. Я запустил Chrome с флагами - enable-qui c --qui c -version = "h3-27" , как это предлагается в этой статье . Я пробовал то же самое с сервером nginx на основе этого изображения , но не смог заставить его работать.

Что мне не хватает?

Caddyfile :

{
    experimental_http3
}

localhost {
    root * /usr/share/caddy/
    encode zstd gzip
    templates
    file_server
    tls /etc/caddy/certs/localhost.crt /etc/caddy/certs/localhost.key
}

Выход Caddy:

2020/05/07 07:23:50.939 INFO    using provided configuration    {"config_file": "/etc/caddy/Caddyfile", "config_adapter": "caddyfile"}
2020/05/07 07:23:51.252 INFO    admin   admin endpoint started  {"address": "tcp/localhost:2019", "enforce_origin": false, "origins": ["127.0.0.1:2019", "localhost:2019", "[::1]:2019"]}
2020/05/07 07:23:51 [INFO][cache:0xc00088da90] Started certificate maintenance routine
2020/05/07 07:23:51 [WARNING] Stapling OCSP: no OCSP stapling for [localhost bar.localhost]: no OCSP server specified in certificate
2020/05/07 07:23:51.254 INFO    http    skipping automatic certificate management because one or more matching certificates are already loaded  {"domain": "localhost", "server_name": "srv0"}
2020/05/07 07:23:51.254 INFO    http    enabling automatic HTTP->HTTPS redirects    {"server_name": "srv0"}
2020/05/07 07:23:51.255 INFO    tls cleaned up storage units
2020/05/07 07:23:51.256 INFO    http    enabling experimental HTTP/3 listener   {"addr": ":443"}
2020/05/07 07:23:51.257 INFO    autosaved config    {"file": "/config/caddy/autosave.json"}
2020/05/07 07:23:51.257 INFO    serving initial configuration

1 Ответ

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

Причину нашел сам. Текущая версия Chrome (версия 81.0.4044.138) не поддерживает эту версию Qui c (h3-27). Это можно исправить, используя chrome -dev (версия 84.0.4136.5).

...