我试图限制copas接收套接字的域名,最终目标是允许其他web服务器处理同一台机器上其他域名的请求。在这种特殊情况下,当我使用将copas限制到特定的域名:允许多个web服务器
copas.addserver(assert(socket.bind("*", 80)),
function(c)
return handler(copas.wrap(c), c:getpeername())
end
)
它能够正确处理该请求,并预期返回响应。但是,当我用"localhost"
替换"*"
时,我的结果是混合的。这是正确的方式去听一个具有特定域名的套接字(显然替换localhost的首选名称)?这是否允许其他Web服务器为其他域名旁边的内容提供服务?
编辑:它似乎正在工作,但会接受任何基于IP的套接字,而不是DNS名称。这是否意味着我需要多个IP来提供多个DNS名称?
据我所知,copas是基于IP的过滤套接字。我最终以nginx作为我的解决方案的逆向代理。很棒。 – sworoc 2011-02-03 02:54:18