我以这种方式将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
我可以configurationNGINX正确地传递响应头,因为我直接从Domino获取响应头? 我知道我可以像这样一个一个地设置一些:
proxy_pass_header Server;
但是,例如,即使这样, ETag也不会被传递。
例如,很可能nginx会因为启用gzip而修改来自上游的响应。 你可以在这里find更多的信息。