更改 localhost web app express 的名称?

changing the name of localhost web app express?

我正在做一个项目,我需要将项目名称从 localhost:9000 更改为 someothername:9000,这是在我的开发环境中,而不是在生产环境中。

我得到了项目文件,那个人(已经不在了)使用了express.js。我已经搜索并搜索了这个问题的答案,但我无法弄清楚。

那么,是否可以使用 express.js 或更新 gruntfile 将 localhost:9000 的名称更改为 someothername:9000?我知道我可以更改计算机上的本地主机设置,但我需要有一个通过 Web 应用程序出现的别名。

我已经准备好扯掉我的头发了。 :(

您无法在 express 中更改它。域名由浏览器使用OS系统和DNS服务解析。它不是由您的快速应用程序解决的。它在与您的 Express 应用程序建立任何连接之前由浏览器解析。

您可以在本地计算机上编辑主机文件,将其他名称定义为本地主机的别名。您编辑主机文件的具体方式取决于您 OS 的身份 运行,因为这是 OS 特定的功能。


回顾一下,这是在浏览器中请求网页时的正常步骤。

  1. 用户在浏览器中请求特定的 URL。
  2. 浏览器从 URL 中解析域,并使用主机 OS.
  3. 上基于 TCP 的本地服务请求对该域进行 DNS 查找
  4. 主机 OS 查看请求的域,看它是否是它识别的主机名或是否有缓存条目。
  5. 如果它确实识别主机名或有缓存条目,则与该主机名对应的 IP 地址返回给浏览器。
  6. 如果它无法识别主机名,则本地计算机会联系 DNS 服务器以查找 IP 地址,然后 returns 将该 IP 地址返回给浏览器。
  7. 浏览器获得 IP 地址后,它会在所需的端口号上与该 IP 地址建立 TCP 连接。
  8. 如果 IP 地址对应于您的 Express 服务器,那么这是您的 Express 服务器第一次参与该过程。

因为你是开发环境,加

就够了
127.0.0.1  testurl.test

的底部
C:\Windows\System32\drivers\etc\hosts

现在将服务器的端口设置为 80(http 的标准端口) 你需要改变

project\bin\www

(ejs 标准第 15 行)

var port = normalizePort(process.env.PORT || '3000');

var port = normalizePort(process.env.PORT || '80');

现在,如果您在浏览器中键入 testurl.test,它应该会显示该网站。

这适用于 windows,如果您有 mac 或 linux,只需根据需要更改主机文件即可。

马吕斯