在同一台计算机上的nginx旁边运行多个HTTP-Server

时间:2014-01-02 14:09:48

标签: nginx httpserver

我在同一台机器上运行多个HTTP服务器。只有nginx正在侦听HTTP端口并将请求转发给其他程序。

现在我正在添加一个需要直接接收post请求的服务(没有缓冲它们)。我已经读到这是不可能的,虽然帖子大约有一年的时间,所以我希望有一种方法可以在nginx 1.5中实现这一点。

是否有另一种方法可以在同一台机器上运行多个HTTP服务器?

编辑:每个服务器都必须回答来自http端口的请求。哪个服务器处理请求由URL中的主机名确定。

2 个答案:

答案 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服务器,或者其他任何东西,唯一的“限制”是它们不能在同一个端口上监听,它们每个都需要监听不同的端口才能工作

否则他们会抱怨端口已经在使用并“死”。