我是 nginx 的新手(过去一直在使用 apache)。
目前我正在尝试设置一个缓存,该缓存将位于 apache 后端,最终我认为(基于我迄今为止对 nginx 的良好经验)我们将切换到只使用 nginx。
一旦我打开 http2 Safari 就无法得到响应。在错误日志中没有任何表明有问题的内容,如果我打开访问日志并检查那里,我可以看到 Safari 客户端进行了很多很多连接,就像它只是不断刷新页面一样。
我已经尝试了许多 nginx 版本,因为我注意到最新的稳定版可能存在问题。所以我尝试降级到 1.9.14 以及升级到 1.11.1,但都没有运气。
Nginx 只编译:
./configure --with-http_ssl_module --with-http_v2_module
Nginx -V 输出:
nginx version: nginx/1.11.1
built by gcc 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1)
built with OpenSSL 1.0.2g-fips 1 Mar 2016
TLS SNI support enabled
configure arguments: --with-http_ssl_module --with-http_v2_module
Run Code Online (Sandbox Code Playgroud)
我的配置看起来像这样(我的站点可用配置):
upstream backend {
server 127.0.0.1:8088 weight=100;
}
server {
listen 443 ssl http2 deferred;
server_name www.server.name;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK";
ssl_prefer_server_ciphers on; …
Run Code Online (Sandbox Code Playgroud)