According to the docs http服務器的多個主機,創建服務器可任選地收聽特定的主機:收聽與node.js的
server.listen(port, [host], [backlog], [callback])
開始接受在指定的
port
和host
連接。如果省略了host
,則服務器將接受指向任何IPv4地址的連接(INADDR_ANY
)。
因此,您可以收聽單個主機或任何主機。
有沒有辦法聽幾個特定的主機?
According to the docs http服務器的多個主機,創建服務器可任選地收聽特定的主機:收聽與node.js的
server.listen(port, [host], [backlog], [callback])
開始接受在指定的
port
和host
連接。如果省略了host
,則服務器將接受指向任何IPv4地址的連接(INADDR_ANY
)。
因此,您可以收聽單個主機或任何主機。
有沒有辦法聽幾個特定的主機?
爲此,您必須添加額外的HTTP服務器。但是,您可以爲每個回調使用相同的回調。
如果您使用的是Express,這與對app.listen()
的額外呼叫一樣簡單。
啊同樣的回調,這太棒了。我可以遍歷一組主機並將回調附加到每個主機。 – Redsandro
或者,您可以只檢查'req.headers.host',並以404的方式回覆所有人,但您希望回覆的人。 – adeneo
@adeneo你的提議假設其他接口上沒有其他東西需要他的端口。在某些情況下,您提出的建議也存在一些安全問題。處理TCP連接以及如何在應用層處理請求是完全不同的問題。 – Brad