#2075 closed defect (fixed)
nginx-quic with WordPress
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | major | Milestone: | |
Component: | nginx-core | Version: | 1.19.x |
Keywords: | Cc: | ||
uname -a: | Linux yellow.garant.tv 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux | ||
nginx -V: |
nginx version: nginx/1.19.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) built with OpenSSL 1.1.1 (compatible; BoringSSL) (running with BoringSSL) TLS SNI support enabled configure arguments: --prefix=/opt/nginx --with-file-aio --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_auth_request_module --with-http_random_index_module --with-http_perl_module --with-mail --with-stream --with-stream_ssl_module --with-google_perftools_module --without-http_uwsgi_module --without-http_scgi_module --with-threads --with-file-aio --with-http_v2_module --with-http_realip_module --with-http_geoip_module --with-http_sub_module --with-http_mp4_module --with-google_perftools_module --http-client-body-temp-path=/var/nginx/client_body_temp --http-proxy-temp-path=/var/nginx/proxy_temp --http-fastcgi-temp-path=/var/nginx/fastcgi_temp --add-module=/usr/src/ngx_brotli --add-module=/usr/src/ngx_webp --add-module=/usr/src/incubator-pagespeed-ngx --with-cc-opt=-I../boringssl/include --with-ld-opt='-L../boringssl/build/ssl -L../boringssl/build/crypto' --with-http_v3_module --with-http_quic_module --with-stream_quic_module --with-openssl-opt=enable-tls1_3 --with-stream=dynamic --with-stream_ssl_module --with-stream_quic_module --with-stream_realip_module --with-stream_geoip_module --with-stream_geoip_module=dynamic --with-stream_ssl_preread_module --with-mail --with-mail=dynamic --with-mail_ssl_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module --with-http_slice_module --with-http_degradation_module --with-http_secure_link_module --with-http_random_index_module --with-http_gunzip_module --with-http_mp4_module --with-http_flv_module --with-http_dav_module --with-http_sub_module --with-http_geoip_module --with-http_geoip_module=dynamic --with-http_image_filter_module --with-http_image_filter_module=dynamic --with-http_xslt_module=dynamic --with-http_xslt_module --with-http_addition_module --with-http_realip_module --with-poll_module --with-select_module |
Description (last modified by )
if add options,
listen 443 quic http3; listen 443 ssl; add_header alt-svc 'quic=":443"'; # Advertise that QUIC is available add_header QUIC-Status $quic; # Sent when QUIC was used add_header alt-svc 'h3-29=":443"; ma=86400';
quic/http3 work on my wordpres site, but:
1) first page opens with http2 protocol, after this, if i go to the second page - wow! quic/http3 begin work and work in furher.
2) wordpress login page issues error: "ОШИБКА: Cookies либо заблокированы, либо не поддерживаются вашим браузером. Чтобы использовать WordPress, нужно разрешить cookies."
Translate: ERROR: Cookies are either blocked or are not supported by your browser. To use WordPress, you need to enable cookies.
if i comment headers
#add_header alt-svc 'quic=":443"'; # Advertise that QUIC is available
#add_header QUIC-Status $quic; # Sent when QUIC was used
#add_header alt-svc 'h3-29=":443"; ma=86400';
then wp login work normally, but http3 in my Chrome and Mozilla not works.
Attachments (1)
Change History (7)
by , 4 years ago
Attachment: | quic-wordpres-login.png added |
---|
comment:1 by , 4 years ago
Description: | modified (diff) |
---|
follow-up: 3 comment:2 by , 4 years ago
Can you check if the server sends HTTP trailers? To do that, set up debug logging, switch to HTTP/1 (comment out those lines) and search for the lines in log starting with http trailer:
.
follow-up: 4 comment:3 by , 4 years ago
Replying to Roman Arutyunyan:
Can you check if the server sends HTTP trailers? To do that, set up debug logging, switch to HTTP/1 (comment out those lines) and search for the lines in log starting with
http trailer:
.
"http trailer: " in logs cannot find.
Debug is enabled, part of log:
2020/11/19 13:39:42 [info] 10320#10320: *893413 client sent invalid header line: ":path: navigate" while reading client request headers, client: 93.171.182.182, server: glazovlife.ru, request: "GET /wp-login.php HTTP/3"
2020/11/19 13:39:42 [info] 10320#10320: *893413 client sent invalid "Content-Length" header while reading client request headers, client: 93.171.182.182, server: glazovlife.ru, request: "GET /wp-login.php HTTP/3"
2020/11/19 13:39:42 [warn] 10320#10320: *893413 non-absolute path "on" not pushed while reading client request headers, client: 93.171.182.182, server: glazovlife.ru, request: "GET /wp-login.php HTTP/3"
2020/11/19 13:39:42 [info] 10320#10320: *893414 client sent invalid header line: ":path: image" while reading client request headers, client: 93.171.182.182, server: glazovlife.ru, request: "GET /favicon.ico HTTP/3"
2020/11/19 13:39:42 [notice] 10320#10320: *893414 "/wp-admin$" does not match "/favicon.ico", client: 93.171.182.182, server: glazovlife.ru, request: "GET /favicon.ico HTTP/3", referrer: "https://glazovlife.ru/wp-login.php"
2020/11/19 13:39:42 [info] 10320#10320: [ngx_pagespeed 1.13.35.2-0] Trying to serve rewritten resource in-place: https://glazovlife.ru/favicon.ico
2020/11/19 13:39:42 [notice] 10320#10320: *893414 "/wp-admin$" does not match "/index.php", client: 93.171.182.182, server: glazovlife.ru, request: "GET /favicon.ico HTTP/3", referrer: "https://glazovlife.ru/wp-login.php"
2020/11/19 13:39:42 [info] 10320#10320: [ngx_pagespeed 1.13.35.2-0] Trying to serve rewritten resource in-place: https://glazovlife.ru/favicon.ico
2020/11/19 13:39:42 [info] 10320#10477: [ngx_pagespeed 1.13.35.2-0] https://glazovlife.ru/favicon.ico:1880:Unexpected close-tag `div', no tags are open
comment:4 by , 3 years ago
Replying to ikoctya@…:
Replying to Roman Arutyunyan:
Can you check if the server sends HTTP trailers? To do that, set up debug logging, switch to HTTP/1 (comment out those lines) and search for the lines in log starting with
http trailer:
.
Switched to http 1, enabled debug. No http_trailers in logs
comment:5 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Supposedly, should be fixed in https://hg.nginx.org/nginx-quic/rev/10522e8dea41
wp login