如何解决HaProxy:从标头中提取字符串
我有一个007任务:将HaProxy设置为从CDN发送的标头中提取字符串,如果检测到该字符串,HaProxy将仅允许HTTPS请求到后端服务器。 目标是阻止除CDN之外的未经授权的访问,以访问后端服务器。
到目前为止我最接近的人。
前端:
acl allow_traffic_from_cdn req.hdr(STRING NAME HERE) -m str (STRING VALUE HERE)
http-request deny if !allow_traffic_from_cdn
当我尝试通过CDN访问服务器时,haproxy.log
确实显示了我期望的字符串,但仅此而已。
仅主页可访问,如果您尝试不访问任何其他页面,则会收到错误消息:(
我一直在阅读文档,但是在完全理解此过程时遇到了问题。
那么,如何设置haproxy以从允许访问的标头中获取值,但是如果HTTPS请求没有访问权限,则阻止访问?
谢谢
...
解决方法
您可以创建ACL,以搜索标头及其值是否存在。 然后,拒绝所有缺少此ACL的请求:
acl from_cdn hdr(X-my-cdn-header) -i "your header value"
http-request deny if !from_cdn
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。