在 NGINX 負載平衡器中保留響應標頭

在 NGINX 負載平衡器中保留響應標頭

我已經將 NGINX 設定為兩台 Domino 伺服器的負載平衡器,如下所示:

http {

    upstream www.mydomain.com {
      server 1.1.1.1;
      server 2.2.2.2 backup;
    }

    server {
        listen       80;
        server_name  www.mydomain.com;

        location / {
            proxy_pass http://www.mydomain.com;
        }
    }
}

如果我直接存取 Domino 伺服器,回應標頭如下:

HTTP/1.1 200 OK
Server: Lotus-Domino
Date: Mon, 23 Dec 2013 12:19:36 GMT
Last-Modified: Fri, 20 Dec 2013 08:16:27 GMT
Content-Type: text/html; charset=US-ASCII
Content-Length: 12713
Cache-control: private
ETag: W/"MTAtODEwRC1DMjI1N0MzRDAwN0M3NTBCLUMyMjU3QzQ3MDAyRDczMzktMC1DTj1QYW51IEhhYXJhbW8vTz1BQUQ="

當我透過 NGINX 存取同一頁面時,回應標頭如下:

HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Mon, 23 Dec 2013 12:02:29 GMT
Content-Type: text/html; charset=US-ASCII
Connection: keep-alive
Last-Modified: Mon, 23 Dec 2013 12:20:47 GMT
Expires: Tue, 01 Jan 1980 06:00:00 GMT
Content-Length: 12713

我可以設定 NGINX 來傳遞回應標頭,就像我直接從 Domino 取得回應標頭一樣嗎?我知道我可以像這樣一一設定其中一些:

proxy_pass_header Server;

但例如ETag即使這樣也不會通過。

答案1

例如,很可能 nginx 由於啟用了 gzip 而修改了來自上游的回應。你可以找到更多信息這裡

相關內容