我有HAProxy 1.5.8。
我有这个基本的301规则:
frontend http_frontend bind *:80 mode http redirect location https://xxxx.com code 301
响应如下所示:
HTTP/1.1 301 Moved Permanently Content-length: 0 Location: https://xxxx.com Connection: close
我需要在标题中添加一个date,就像普通的networking服务器一样。
respadd函数似乎不会影响redirect。
可能吗 ?
任何曾经看过redirect的浏览器都是不可能的。 它被无限期地caching。 一个301redirect只能在你永久性地退出一个网站的时候使用,即使这样,这也是一个糟糕的主意 – 你的stream量依旧无法看到旧网站。
所以在你做其他事情之前,把它改成302redirect。
Haproxy不是一个networking服务器。 它没有办法生成一个头包含dynamic数据 – 如果你真的想要一个date头,使用networking服务器。 有几个轻量级的能够完成这个任务。
或者告诉我们为什么你需要这样一个头,我们可能会build议一个更适合的解决scheme。
有可能做到这一点,HaProxy的Willy在这里确定了解决scheme:
https://www.mail-archive.com/[email protected]/msg25061.html
http-request redirect location "https://blah..\r\nDate: xyz"
我想要解决的问题是添加一个HSTS头,但我想你可以使用它的date。
这不是很漂亮,但工作,我刚刚实现它,对于我们我们也想渲染一个头来识别产生redirect的框,因为我们有多个HaProxy框。
这是我在HaProxy 1.6testing,我不能担保其他版本。