在 Nginx 中,"etag" 指令对 proxy_pass 不起作用?

In Nginx, "etag" directive doesn't work for proxy_pass?

我使用的是 Nginx 1.9.2,以下是我的配置

upstream httpserver0{
            server 127.0.0.1:35011  max_fails=3 fail_timeout=30s; #H_server0                                                                                                                                                                                                                
}

server {
            listen       443 ssl;
            listen       80;
            server_name  11.22.33.44; #my_server_name                                                                                                                                                                                                          
            etag  on;

            location  ~* \.(ts|raw)$ {
              set $server_id "0";
              if ( $uri ~ ^/(.*cfs+)/(.*)$ ){
                set $server_id ;
              }
              if ( $server_id = "4cfs" ){
                proxy_pass  http://httpserver0$request_uri;
              }
            }
}

我使用 upstream module 和 proxy_pass 作为反向代理,我在服务器块中通过 etag on 启用了 etag 功能。

然而,当我检查HTTP响应的Header时,我根本没有找到etag字段..

有人对此有想法吗?谢谢!

不,它不适用于 proxy_pass

http://nginx.org/r/etag

Enables or disables automatic generation of the “ETag” response header field for static resources.

更重要的是,它默认开启。