Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1592468
  • 博文数量: 184
  • 博客积分: 3044
  • 博客等级: 中校
  • 技术积分: 2467
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-25 15:04
文章分类

全部博文(184)

文章存档

2022年(4)

2021年(3)

2020年(1)

2019年(5)

2018年(13)

2017年(6)

2016年(10)

2015年(11)

2014年(11)

2013年(13)

2012年(23)

2011年(25)

2010年(2)

2008年(1)

2007年(5)

2006年(51)

分类: LINUX

2013-05-09 09:41:18

今天在工作遇到 这么一个需求: 根据访问方式强制对Host头内容进行修改!过程中有些问题记录下来
1:在haproxy 下新增一个frontend 时 
 默认都是用默认的backend
default_backend nginx

2:
在listen下增加
acl fromHttps hdr(X-Forwarded-Proto) -i https
reqidel ^Host:.*  if fromHttps 
reqadd Host:\ mine.sky.net:444  if fromHttps 

在访问时判断如果是从https发起的访问时就把Host的header改写成mine.sky.net:444,如果是从http发起的访问时刚不作操作

3:
在做了2的操作后,第一次访问Host改成成功,但是如果接着刷新一下时,发现Host内容却没有更改了。
郁闷了好久后,最后在Haproxy.conf文件里的bind *
  option httpclose
  option forceclose
  option http-server-close
后发现问题解决,可能是与同一seesion再次请求时,haproxy不再对其处理的原因吧!



阅读(3759) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~