首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于HTTP包内容的第三层路由

基于HTTP包内容的第三层路由
EN

Server Fault用户
提问于 2015-12-01 09:24:58
回答 2查看 455关注 0票数 2

我正在运行一个HTTP代理服务,并希望根据HTTP数据包的内容(例如HTTP头)将流量路由到不同的第3层TUNs。

我正在使用BSD和Linux来完成这一任务,但在做出路由决策时,这两种方法似乎都不能进行第7层的分类(至少,不需要编写我自己的大量内核补丁)。

那么,是否可以根据Linux或BSD中HTTP数据包的内容做出第三层路由决策呢?

如果没有,是否有任何基于Unix的操作系统或发行版具有此功能?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2015-12-01 12:04:59

对于BSD,我会研究relayd(8) -它的原生于OpenBSD,但我相信FreeBSD也有一个端口。它非常强大,可以做很多事情(例如,代理、负载均衡器、应用程序网关),包括您所要求的内容。

阅读手册页,特别是“筛选规则”和“协议”部分:

  • http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man8/relayd.8
  • http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/relayd.conf.5

如果你有问题的话,一定要跳上openbsd 'misc‘邮件列表。社区是快速的,作者经常是可用的。

relaydpf数据包过滤器密切相连,这就是它如何能够联合为第3层和第7层创建规则。

票数 2
EN

Server Fault用户

发布于 2015-12-01 14:04:04

我在这里看到的问题是,在看到http请求之前,您必须接受TCP连接。因此,即使系统可以使用应用程序级别的数据,它也不会在需要决定连接到哪里的时候拥有这些数据。

我认为没有太多的选择,只有一个“反向代理”来终止来自客户端的TCP连接,然后建立到源服务器的向前TCP连接。

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

https://serverfault.com/questions/739939

复制
相关文章

相似问题

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