我在同一台机器上运行多个HTTP服务器。只有nginx正在侦听HTTP端口并将请求转发给其他程序。
现在我正在添加一个需要直接接收post请求的服务(没有缓冲它们)。我已经读到这是不可能的,虽然帖子大约有一年的时间,所以我希望有一种方法可以在nginx 1.5中实现这一点。
是否有另一种方法可以在同一台机器上运行多个HTTP服务器?
编辑:每个服务器都必须回答来自http端口的请求。哪个服务器处理请求由URL中的主机名确定。
答案 0 :(得分:1)
当您的服务器有多个IP时,您可以将服务绑定到明确选择的IP而不是默认的'*'或0.0.0.0
当您的客户端可以通过其IP隔离时,您可以将服务绑定到不同的端口并使用iptables路由数据包:
iptables -A INPUT -p tcp --dport 80 -s 10.20.30.0/24 -j REDIRECT --to-port 81
Iptables不仅可以检查标题,还可以通过“-m string”扩展名检查内容。
答案 1 :(得分:0)
你可以在同一台机器上有多个进程,称之为HTTP服务器,或者其他任何东西,唯一的“限制”是它们不能在同一个端口上监听,它们每个都需要监听不同的端口才能工作
否则他们会抱怨端口已经在使用并“死”。