nginx: запуск HTTP3 протокола на нескольких хостах.

izorkin на gmail.com izorkin на gmail.com
Пн Ноя 15 09:01:58 UTC 2021


Здравствуйте.
При попытке активировать HTTP3 протокол на 2-х виртуальных хостах выходит ошибка:
```
nginx: [emerg] duplicate listen options for 0.0.0.0:443 in /etc/nginx/nginx.conf:27
configuration file /etc/nginx/nginx.conf test failed
```
Файл конфигурации:
```
pid /run/nginx/nginx.pid;
error_log stderr;
daemon off;
events { }
http {
  include /nix/store/qd3g8rk5hx5zkb70idjh6fa12sh6bipg-mailcap-2.1.53/etc/nginx/mime.types;
  include /nix/store/mwibmbkyhimr43bkbrpz9sway6krcniq-nginx-quic/conf/fastcgi.conf;
  include /nix/store/mwibmbkyhimr43bkbrpz9sway6krcniq-nginx-quic/conf/uwsgi_params;
  default_type application/octet-stream;
  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
  client_max_body_size 10m;
  server_tokens off;

  server {
    listen 0.0.0.0:443 http3 reuseport;
    listen 0.0.0.0:443 ssl http2;
    add_header Alt-Svc 'h3=":443"';
    add_header QUIC-Status $quic;
    server_name test1.local;
    root /var/www/test1;
    ssl_certificate /var/certs/test1.crt;
    ssl_certificate_key /var/certs/test1.key;
  }

  server {
    listen 0.0.0.0:443 http3 reuseport;
    listen 0.0.0.0:443 ssl http2;
    add_header Alt-Svc 'h3=":443"';
    add_header QUIC-Status $quic;
    server_name test2.local;
    root /var/www/test2;
    ssl_certificate /var/certs/test2.crt;
    ssl_certificate_key /var/certs/test2.key;
  }
}
```

Возможно ли заставить работать nginx с протоколом HTTP3 без смены портов?
Если убрать строку с протоколом HTTP2, то сервер nginx запускается.
Предполагаю, что проверка конфигурации `nginx: [emerg]` не учитывает, что HTTP2 и HTTP3 работают по разным протоколам - tcp и udp.

-- 
С уважением,
 Izorkin                          mailto:izorkin на gmail.com



Подробная информация о списке рассылки nginx-ru