添加响应报文的头部
nginx基于模块ngx_http_headers_module可以实现对后端服务器响应给客户端的报文中添加指定的响应首部字段。
格式
Syntax: add_header name value [always];
Default: —
Context: http, server, location, if in location
示例
add_header X-Via $server_addr;
add_header X-Cache $upstream_cache_status;
add_header X-Accel $server_name;
添加请求报文的头部
nginx作为反向代理服务器,可以在转发给后端代理服务器的请求报文里添加首部字段值,让后端服务器获取到客户端的真实IP,更有利于我们分析网站的用户。
格式
Syntax: proxy_set_header field value;
Default: proxy_set_header Host $proxy_host;
proxy_set_header Connection close;
Context: http, server, location
示例
在中间的代理服务器配置
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
后端nginx服务器配置
http块,定义日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
server块,配置日志路径和格式(一定要先定义)
access_log /var/log/nginx/access.log main;
当客户端通过反向代理来访问后端web服务器的时候,可以在日志最后看到客户端的真实IP。
#监控访问日志
tail -f /var/log/nginx/access.log