haproxy - HAProxy 转发请求规则
问题描述
我有一个要求:
Incoming request- <haproxyIP>:8080/proxy/component/upgrade
Forward to- <serverIP>:8443/component/upgrade
Incoming request- haproxyIP:8080/proxy/component/restore
Forward to- <serverIP>:8443/component/restore
我目前将我的前端和后端编写为:
frontend http-in
acl acl_upgrade path_sub /proxy/component/upgrade
use_backend b_upgrade if acl_upgrade
acl acl_restore path_sub /proxy/component/restore
use_backend b_restore if acl_restore
backend b_upgrade
mode http
http-request set-path /component/upgrade
server s1 10.1.1.1:8443 ssl verify none
backend b_restore
mode http
http-request set-path /component/upgrade
server s2 10.1.1.1:8443 ssl verify none
除了编写两个后端之外,是否可以根据 URL 的部分使用正则表达式之类的只有一个后端,例如:
Incoming request- <haproxyIP>:8080/proxy/<extracted part>
Forward to- <serverIP>:8443/<extracted part>
是否有可能在 haproxy 中做这样的事情?
解决方案
您可以尝试使用地图。下面的示例未经测试,但它显示了这个想法。
url4setpath.cfg
# map url4setpath
/proxy/component/upgrade /component/upgrade
/proxy/component/restore /component/restore
frontend http-in
use_backend b_default
backend b_upgrade
mode http
http-request set-path path,map_beg(url4setpath.cfg,/)
server s1 10.1.1.1:8443 ssl verify none
有关地图的更多信息HAProxy 地图简介
推荐阅读
- javascript - 如何从动态加载的脚本运行函数
- python - Python Pandas - 聚合和计数
- html - 谷歌图表表格 - 堆叠列
- file - Ionic 4:如何从相机(@ionic-native/camera)FILE_URI 制作文件(@ionic-native/file)
- hbase - HBASE - 如何在 HBASE 中使用 SingleColumnValueFilter 应用“LIKE”过滤器操作?
- c# - 未调用 WPF DependencyProperty PropertyChangedCallback
- python - python正则表达式跳过它不应该的刺痛
- java - 如何解决“过时的元素引用:导航到上一页时元素未附加到页面文档”
- matlab - 如何从 MATLAB ode45 中提取参数向量?
- spring-security - Spring Boot 使用 CSRF 令牌和 BasicAuth 保护相同的端点