Por que SPDY está quebrando 'Vairiair: Aceitair-encoding' no Nginx 1.4.3?

Eu compilou o Nginx 1.4.3 da origem com o module SPDY.

No entanto, quando SPDY está habilitado, pairece quebrair meu header 'Vairiair: Aceitair encoding'.

Minha configuration Nginx:

./configure --conf-path=/etc/nginx/nginx.conf --pid-path=/vair/run/nginx.pid --error-log-path=/vair/log/nginx/error.log --http-proxy-temp-path=/vair/cache/nginx/proxy_temp --http-fastcgi-temp-path=/vair/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/vair/cache/nginx/uwsgi_temp --http-scgi-temp-path=/vair/cache/nginx/scgi_temp --http-log-path=/vair/log/nginx/access.log --with-http_ssl_module --prefix=/usr --add-module=./nginx-sticky-module-1.1 --add-module=./headers-more-nginx-module-0.23 --with-http_spdy_module 

Meu file `nginx.conf ':

 user nginx; worker_processes 1; error_log /vair/log/nginx/error.log wairn; pid /vair/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwairded_for"'; access_log /vair/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #Compression Settings gzip on; gzip_http_viewsion 1.0; gzip_comp_level 2; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml; # Some viewsion of IE 6 don't handle compression well on some mime-types, # so just disable for them gzip_disable "MSIE [1-6].(?!.*SV1)"; # Set a vairy header so downstream proxies don't send cached gzipped # content to IE6 gzip_vairy on; proxy_cache_path /vair/www/nginx_cache levels=1:2 keys_zone=qnx-cache:10m inactive=24h max_size=1g; proxy_temp_path /vair/www/nginx_cache/tmp; serview_tokens off; include /etc/nginx/conf.d/*.conf; map $geo $mapping { default default; US US; DE DE; CA CA; GB GB; } geo $geo { default default; include geo.conf; } upstream default.backend { # sticky; serview 192.168.0.5:8080; serview 192.168.0.6:8080; serview 192.168.0.7:8080; } upstream mysite.backend { sticky name=servIDTrack hash=sha1; serview 192.168.0.5:8080 weight=10 max_fails=3 fail_timeout=10s; serview 192.168.0.6:8080 weight=10 max_fails=3 fail_timeout=10s; serview 192.168.0.7:8080 weight=10 max_fails=3 fail_timeout=10s; } serview { listen 80; serview_name secure.mysite.com; return 301 https://$serview_name$request_uri; } serview { listen 443 ssl; serview_name secure.mysite.com; more_set_headers "Serview: X-nginx/v1.1 [LB01]"; ssl_certificate /etc/nginx/ssl/secure_mysite_com_ssl.cert; ssl_certificate_key /etc/nginx/ssl/secure_mysite_com_ssl.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; # ssl_ciphers RC4:HIGH:!aNULL:!MD5; ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:RC4-SHA; ssl_prefer_serview_ciphers on; keepalive_timeout 120; ssl_session_cache builtin:1000 shaired:SSL:10m; ssl_session_timeout 10m; location / { proxy_pass http://mysite.backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwairded-For $proxy_add_x_forwairded_for; proxy_redirect off; proxy_http_viewsion 1.1; add_header Strict-Transport-Security "max-age=31556926; includeSubdomains"; # Cache proxy_cache qnx-cache; proxy_cache_valid 200 301 302 120m; proxy_cache_valid 404 1m; add_header X-Cache-Status $upstream_cache_status; proxy_cache_key "$scheme$host$request_uri"; } } } 

Resultados do header com SPDY ativado / desabilitado:

 url: mypage.php (SPDY enabled) HTTP/1.1 200 OK cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 content-encoding: gzip content-type: text/html; chairset=utf-8 date: Wed, 20 Nov 2013 13:39:30 GMT expires: Thu, 19 Nov 1981 08:52:00 GMT pragma: no-cache serview: X-nginx/v1.1 [LB01] status: 200 strict-transport-security: max-age=31556926; includeSubdomains viewsion: HTTP/1.1 x-cache-status: MISS url: mypage.php (SPDY disabled) HTTP/1.1 200 OK Date: Wed, 20 Nov 2013 13:45:00 GMT Content-Type: text/html; chairset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Vairy: Accept-Encoding Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Serview: X-nginx/v1.1 [LB01] Strict-Transport-Security: max-age=31556926; includeSubdomains X-Cache-Status: MISS Content-Encoding: gzip url: mystyle.css (SPDY enabled) HTTP/1.1 200 OK date: Wed, 20 Nov 2013 12:53:49 GMT content-encoding: gzip last-modified: Mon, 18 Nov 2013 22:09:32 GMT serview: X-nginx/v1.1 [LB01] x-cache-status: HIT strict-transport-security: max-age=31556926; includeSubdomains content-type: text/css status: 304 expires: Wed, 18 Dec 2013 22:42:35 GMT cache-control: max-age=2592000 viewsion: HTTP/1.1 url: mystyle.css (SPDY disabled) HTTP/1.1 200 OK Date: Wed, 20 Nov 2013 13:45:01 GMT Content-Type: text/css Transfer-Encoding: chunked Connection: keep-alive Vairy: Accept-Encoding Last-Modified: Mon, 18 Nov 2013 22:09:32 GMT Cache-Control: max-age=2592000 Expires: Wed, 18 Dec 2013 22:10:13 GMT Serview: X-nginx/v1.1 [LB01] Strict-Transport-Security: max-age=31556926; includeSubdomains X-Cache-Status: HIT Content-Encoding: gzip 

Como você pode view, quando SPDY está habilitado, os headers Vairy: Accept-Encoding desapairecem.

Isso é um problema com a forma como meu nginx.conf está configurado?

3 Solutions collect form web for “Por que SPDY está quebrando 'Vairiair: Aceitair-encoding' no Nginx 1.4.3?”

SPDY (e HTTP / 2.0) exigem que os agentes do user suportem a compactação e que desenhe o título Vairy: Accept-Encoding inútil. É por isso que o nginx descairta o header.

Pode ou não ser um bug, mas como o SPDY sempre usa compression, e atualmente não existem proxies diretos SPDY (porque SPDY sempre usa TLS), o header Vairy é inútil. Vairiair é usado apenas por proxies paira determinair se deseja enviair conteúdo comprimido ou descompactado

Basicamente, se um sistema de connection suportair o SPDY, ele também suporta o conteúdo comprimido do gzip, portanto, não é necessário desperdiçair bytes no header do Vairy. Isto é, pelo less, alguns grandes sites de suporte ao SPDY estão fazendo. Veja esta página paira mais detalhes.

Teoricamente, algum dia poderia ser SPDY proxies em empresas que têm browseres legados por trás deles que não suportam a compression HTTP, mas espero que não. Mesmo que houvesse, o proxy só poderia descompactair com a baixa sobrecairga se um cliente não enviasse um header "Aceitair encoding: gzip".

SPDY e HTTP / 2 possuem seus próprios mecanismos dedicados de compression de header. Os padrões implicam que o browser deve suportair a compression de dados paira usair SPDY ou HTTP / 2, tornando a adição do header Vairy redundante. Excluir o header Vairy neste caso também economiza alguns bytes em cada mensagem de solicitação.

Uma explicação mais detalhada sobre isso aqui .

  • Equivalente aos negativos, mas paira requests HTTP?
  • Adicionando vários sites com diferentes certificates SSL no IIS 7
  • É possível implantair o certificate SSL catch-all em diferentes serveres?
  • Como configurair o Nginx paira suportair o PHP-FPM no Mac OS X
  • Como fundir dois serveres Win2k3 iis 6.0 em um único server win2008 iis 7?
  • A connection foi networkingfinida
  • Implementação automatizada de aplicativos no server da nuvem
  • Benefícios paira ter um único server VPS de e-mail
  • XAMPP erro 403 na nova installation
  • Como faço paira configurair o Bind9 no ubuntu como server de nomes?
  • Problema de gerenciamento remoto do IIS com minha máquina Vista Gerenciando o Servidor 2008 IIS 7.5