Chrome无法启用HTTP / 2和gzip

时间:2018-10-12 08:14:11

标签: nginx gzip http2 nginx-config

我们目前在Nginx集群上将GKE与第4层TCP负载均衡器一起使用。 nginx中的虚拟主机配置如下所示:

verticalalignment='bottom'

使用此nginx.conf:

server {
  listen 80;
  return 301 https://$host$request_uri;
}

server {
    listen       443 ssl http2 default_server;
    server_name  dev.pewpew.host;

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets on;
    ssl_session_ticket_key /etc/ssl/certs/random.key;

    ssl_certificate     /etc/ssl/certs/pewpew.fullchain.pem;
    ssl_certificate_key /etc/ssl/certs/pewpew.private.pem;
    ssl_dhparam         /etc/ssl/certs/dhparam.pem;

    ssl_protocols TLSv1 TLSv1.2 TLSv1.3;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    ssl_buffer_size 1400;
    ssl_prefer_server_ciphers on;
    ssl_ecdh_curve secp384r1;

    ssl_stapling on;
    ssl_stapling_verify on;

    resolver 8.8.8.8 8.8.4.4;

    # HSTS
    add_header Strict-Transport-Security max-age=15768000;

    # 1 month caching
    expires 1M;
    add_header Cache-Control public;

    location / {
        root   /app;
        index  index.html index.htm;
    }
}

SSL实验室测试告诉我们,我们使用该配置命中了A +,并为支持它的浏览器启用了h2:https://www.ssllabs.com/ssltest/analyze.html?d=dev.pewpew.host

其他测试也表明服务器已支持h2和gzip:https://tools.keycdn.com/http2-test告诉我们服务器已启用http / 2,https://checkgzipcompression.com/?url=https%3A%2F%2Fdev.pewpew.host告诉我们gzip可以工作。

现在出现问题:我们有3台不同的计算机,都运行相同版本的Chrome,只有一台使用gzip的h2。其他人只获得http / 1.1,没有任何压缩。

Chrome Canary dev tool showing http/1.1 requests

Chrome浏览器还通过网络事件告诉我,其他网站(大多数是ssl实验室和google自己的网站)都使用http / 2流。

//编辑

从其中一个JS文件添加标题屏幕截图,显示浏览器通过Accept-Encoding请求gzip:

Chrome dev tools showing a gzip enabled request

//编辑2

我们发现了2台主机未获得h2的问题。他们安装了eset,默认情况下启用了SSL mitm。禁用将为那些计算机启用h2。 http 1.1上的gzip问题仍然存在。

0 个答案:

没有答案