Здравствуйте.
Если включаю http3, то не работает http2. Мой конфиг выглядит так:
server {
server_name ..... www......;
charset UTF-8;
index index.php;
disable_symlinks if_not_owner from=$root_path;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/...../*.conf;
set $root_path /var/www/www-root/data/www/.....;
root $root_path;
gzip on;
gzip_comp_level 7;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
error_log /var/www/httpd-logs/......error.log warn;
location / {
rewrite ^([^.\?]*[^/])$ $1/ permanent; # Добавление слеша в конце URL, если его там нет
try_files $uri /index.php?do=$uri;
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|webp|woff|woff2)$ {
expires 24h;
}
}
# Удаление лишних слешев
if ($request_uri ~ "//") {
return 301 $uri;
} # End: Удаление лишних слешев
# Удаление "page_0" | "page_1" из URL
location ~* ^(.*)/page_(0|1)/$ {
return 301 $1/;
} # End: Удаление "page_0" | "page_1" из URL
location @php {
fastcgi_index index.php;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f danfa@.....";
fastcgi_pass unix:/var/www/php-fpm/1.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
include fastcgi_params;
include /etc/nginx/vhosts-resources/...../dynamic/*.conf;
}
# Запрет прямого обращения к файлам данных приложения
location ~* /app/\d+/data/ {
valid_referers server_names;
if ($invalid_referer) {
return 404;
}
} # End: Запрет прямого обращения к файлам данных приложения
error_page 404 $page_error;
error_log /var/www/httpd-logs/......error.log notice;
return 301 https://$host:443$request_uri;
access_log off;
listen .....:80;
}
server {
server_name ..... www......;
charset UTF-8;
index index.php;
ssl_certificate "/var/www/httpd-cert/www-root/....._custom_1.crtca";
ssl_certificate_key "/var/www/httpd-cert/www-root/....._custom_1.key";
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_dhparam /etc/ssl/certs/dhparam4096.pem;
disable_symlinks if_not_owner from=$root_path;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/...../*.conf;
error_log /var/www/httpd-logs/......error.log notice;
set $root_path /var/www/www-root/data/www/.....;
root $root_path;
gzip on;
gzip_comp_level 7;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
location / {
rewrite ^([^.\?]*[^/])$ $1/ permanent; # Добавление слеша в конце URL, если его там нет
try_files $uri /index.php?do=$uri;
location ~ [^/]\.ph(p\d*|tml)$ {
try_files /does_not_exists @php;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf|webp|woff|woff2)$ {
expires 24h;
}
}
# Удаление лишних слешев
if ($request_uri ~ "//") {
return 301 $uri;
} # End: Удаление лишних слешев
# Удаление "page_0" | "page_1" из URL
location ~* ^(.*)/page_(0|1)/$ {
return 301 $1/;
} # End: Удаление "page_0" | "page_1" из URL
location @php {
fastcgi_index index.php;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f danfa@.....";
fastcgi_pass unix:/var/www/php-fpm/1.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
include fastcgi_params;
include /etc/nginx/vhosts-resources/...../dynamic/*.conf;
}
# Запрет прямого обращения к файлам данных приложения
location ~* /app/\d+/data/ {
valid_referers server_names;
if ($invalid_referer) {
return 404;
}
} # End: Запрет прямого обращения к файлам данных приложения
error_page 404 $page_error;
add_header Strict-Transport-Security "max-age=31536000;";
access_log off;
http2 on;
listen .....:443 ssl;
http3 on;
listen 443 quic reuseport;
listen .....:443 quic reuseport;
add_header Alt-Svc 'h3=":443"; ma=86400';
}
Проверял тут
https://sergeymukhin.com/service/check-http3?host=... http3.
А http2 проверял на многих сервисах...
Моя попытка подружить:
http2 on;
listen .....:443 ssl;
http3 on;
listen 443 quic reuseport;
listen .....:443 quic reuseport;
add_header Alt-Svc 'h3=":443"; ma=86400';
Укажите на ошибку, пожалуйста?
Спасибо.