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

需求:实现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

© 版权声明
THE END
喜欢就支持以下吧
点赞0 分享
图片正在生成中,请稍后...