我继承了一台运行 1.8 版本的 haproxy 服务器。升级到2.1版本。Haproxy 不会重新启动。在日志中发现问题出在配置文件中的这一行:
rsprep ^Set-Cookie:\ (.*) Set-Cookie:\ \1;\ Secure
Run Code Online (Sandbox Code Playgroud)
错误是
自 HAProxy 2.1 起不再支持“rsprep”指令。使用“http-response Replace-header”代替
删除rsprep并成功。但我现在很好奇它可能会产生什么影响。如何使用 替换上述配置http-response replace-header?
看起来它正在将这个词添加Secure到 Cookie 标头值中。它正在执行正则表达式,将所有内容捕获为组 1,然后引用组 1 并将 Secure 添加到末尾。根据文档。
使用替换标头:
http-response replace-header Set-Cookie (.*) \1;\ Secure
Run Code Online (Sandbox Code Playgroud)
这里的文档中有更多示例