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