• 欢迎访问Ppabc博客网站,专注于Linux、CentOS、Apache、Nginx、MySQL、PHP等开源工具安装优化的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入Ppabc博客
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏Ppabc博客吧

nginx的HEAD请求转发

Linux学习 admin 2年前 (2016-11-16) 1335次浏览

需求:
用 nginx 代理客户端发出的 HEAD 请求,直接转发给数据端接口。
转发规则是 HEAD /data_test -> HEAD http://data_test.ppabc.cn/a3/data_test_h5

比如:head 请求 https://test-data-node.ppabc.cn/data_test?data_id=478581 转发到后端 http://test-data_test.ppabc.cn/a3/data_test_h5 处理。

请求路线:前端 nginx -> test-data-node.ppabc.cn -> 后端 nginx -> test-data_test.ppabc.cn。

验证方式:后端 test-data_test.ppabc.cn 上监控日志有 test-news-node 过去的 head 请求,就说明记录成功了。

测试工具:火狐插件 HTTP Tool,可以发送 head 请求

之前采用的方式:nginx->nodejs->nginx,nginx 的 head 请求转发到 nodejs 处理,nodejs 再去调用 http://test-data_test.ppabc.cn/a3/data_test_h5 处理,发现后端日志只能有 get 请求,head 请求没有转发过来。

目前采用的方式:nginx->nginx,nginx 的 head 请求转发到 nginx 处理,后端 nginx 做 rewrite ^/data_test(.*) /a3/data_test_h5$1 last;
nginx 配置(test-data-node.ppabc.cn 域名):

location /data_test {
if ($request_method = HEAD) {
proxy_pass http://test-data.ppabc.cn_server;
}
}

#HEAD 请求转发到 upstream 处理

后端 nginx 配置(test.data.ppabc.cn 域名):

rewrite ^/data_test(.*) /a3/data_test_h5$1 last;

测试验证:

7

日志记录:

8

 


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:nginx 的 HEAD 请求转发
喜欢 (0)