首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用HAProxy实现透明转发和选择性重定向

使用HAProxy实现透明转发和选择性重定向
EN

Server Fault用户
提问于 2013-02-11 15:22:02
回答 2查看 16.7K关注 0票数 3

我正在设置一个临时back实例,以帮助测试iphone应用程序的新后端。我的计划是建立一个代理,让所有的电话数据都通过,但是它要匹配主机头,并将它们转发到尚未启用的新服务器,而不是专门制作的应用程序或越狱。简而言之,除了某些特定的主机名之外,我希望host充当一个开放的代理。匹配主机名并转发它们是完美的,但我似乎无法使打开的代理位工作。我在Ubuntu上使用了一个包含股票全局设置的股票proxy 1.4.18包,再加上以下代理设置:

代码语言:javascript
复制
frontend myapp
    bind 0.0.0.0:8080
    default_backend passthrough
    acl mydomain hdr_end(Host) .example.com
    use_backend front if mydomain

backend front
    server front 127.0.0.1:80

backend passthrough
    server ???

因此,前端位于端口8080,默认情况下将请求推送到passthrough后端。在此之前,它会检查acl以查看请求是否针对我域中的主机名,如果是,则将其转发给本地应用程序。

问题在于passthrough后端。我希望它直接将请求传递给请求的主机,而不是本地端点。我放在那里的配置不起作用,但我不知道它应该说什么。例如,如果我为http://www.serverfault.com做了一个请求,它将与我的ACL不匹配,所以我希望它直接转发给服务器,而不是本地服务器。我不知道哪个指令会在后端执行这个任务,或者是否有一些前端指令可以完成这个任务。就代理而言,这或多或少是一种不可行的做法。

(是的,我知道开放代理是不好的;这是一个临时的测试配置,一次只交互运行几分钟)

更新:我发现option http_proxy做了我需要的事情,除此之外,它不执行DNS查找,只执行显式的is,所以这样的后端就在那里了:

代码语言:javascript
复制
backend passthrough
    option http_proxy
    option httpclose

我知道我可能需要其他的东西,但我只是碰巧非常喜欢haproxy!

EN

回答 2

Server Fault用户

回答已采纳

发布于 2013-02-11 15:27:31

没有办法配置haproxy来为您完成此操作。haproxy中的后端服务器必须显式命名。

你就不能用一个专用的DNS服务器把电话直接送到正确的服务器上吗?

票数 1
EN

Server Fault用户

发布于 2016-12-05 16:51:18

您可以使用haproxy作为一个简单的http代理,配置如下-

代码语言:javascript
复制
backend direct_forward
option httpclose
option http_proxy

您可以阅读更多关于is 这里的信息。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/477642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档