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

nginx判断header值转发不同upstream处理

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

需求:实现 nginx 判断 header 值转发不同 upstream 处理,当 http_x_custom_header 为空时转发到 upstream,当为 1 时转发到另一个 upstream 处理请求。

修改 header 值工具:火狐插件 Modify Headers

nginx 配置:
location / {
if ($http_x_custom_header = “”) {
proxy_pass http://localhost_server;
}
if ($http_x_custom_header = “1”) {
proxy_pass http://localhost_server1;
}
if ($http_x_custom_header = “2”) {
proxy_pass http://localhost_server2;
}
}

##测试的话,要先定义 3 个不同 upstream 方便测试效果

PHP 打印 header 请求信息代码

<?php
echo “111<br>”;
print_r($_SERVER); // HTTP 相关参数,即为客户端的 header 请求信息
?>

测试验证:

当 http_x_custom_header 为空时转发到 upstream

1

当 http_x_custom_header 为 1 时转发到 upstream

2

当 http_x_custom_header 为 2 时转发到 upstream

3


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:nginx 判断 header 值转发不同 upstream 处理
喜欢 (0)