我試圖限制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