我们有一个web服务器,它有几个apache实例监听不同的端口(例如8080,80801,8082 )。
我们目前有一个nginx实例侦听端口80,它接收请求,然后通过域名将它们代理到适当的实例端口。
用iptables也可以做同样的事情吗?
发布于 2010-02-21 20:26:40
不;在IP级别上没有“目标域”的概念,只有目标IP地址,因此iptables无法帮助您- nginx依赖于请求域作为HTTP请求中URL的一部分进行传输;但是您可以在阿帕奇中直接实现这种效果,而不需要nginx实例。
发布于 2010-02-21 20:38:59
你不能这么做。在HTTP请求中,“域”在主机:报头(即第7层 )中传递。iptables规则只能访问第4层/ TCP级别的信息。
发布于 2010-02-23 22:07:48
如果您能够负担得起额外的地址使用,那么设置此地址的一个干净方法是让每个域指向不同的IP地址。然后,配置此主机上的所有地址,并让每个Apache实例绑定到单个地址的端口80 (使用语法Listen Address:Port ),然后可以删除nginx。
https://serverfault.com/questions/115196
复制相似问题