專用網路上 Node.js 託管網站的自訂網域

專用網路上 Node.js 託管網站的自訂網域

我給自己佈置了一個學習任務 - 創建一個漂亮的網站,由可訪問我的家庭網絡的 Node.js 伺服器託管。我的基本系統運行的是 Windows 7,我想為該網站提供一個自訂網域,以便從其他裝置輕鬆存取它。

mydomain我已經編輯了要添加的主機文件127.0.0.1- 現在http://mydomain:8080可以在同一台機器上工作,但不同的設備無法訪問它(相當於localhost,這意味著其他設備無法使用它)。現在我想我可能需要一種方法來使我的網路 IP 位址靜態,然後將該 IP 對應到主機檔案中的「mydomain」。

這是讓自訂網域可存取的最佳方式,還是有透過 Node.js/Express(框架)/HTTP 使用 JavaScript 的解決方案,讓我可以保持 IP 位址動態?我已經閱讀過有關使用代理的信息,但這可能會導致我的伺服器出現意外行為嗎?

理想情況下,我不想輸入端口,而只需使用類似的東西http://mydomain

Node.js 可以os.networkinterfaces()使用它 - 您可以迭代它並返回網路 IP。也許我只需要一種將網路 IP 對應到自訂網域的方法?

答案1

所以我看到了一些解決你問題的方法:

  1. 一些 SOHO 路由器確實提供 DNS 功能,您可以將電腦的 IP 設定為靜態並建立 DNS 記錄。
  2. 大多數現代作業系統確實提供了專用網路內的.local位址。machinename.local然後,您可以執行 Node.js 並使用該.local位址解析到託管計算機

至於在連接埠 80 上執行 Node.js,您應該將.listen函數更改為.listen(80).

var http = require('http');

http.createServer(function (req, res) {
 res.writeHead(200, {'Content-Type': 'text/plain'});
 res.end('Hello World\n');
}).listen(80, "127.0.0.1");

console.log('Server running at http://127.0.0.1:80/');

相關內容