更改本地主机Web应用程序Express的名称?

7
我正在开发一个项目,需要将项目名称从localhost:9000更改为someothername:9000,这是在我的开发环境中,而不是生产环境。
我拿到了项目文件,使用的是express.js。我已经搜索了很久,但是无法找到答案。
所以,是否可以使用express.js或更新gruntfile来将localhost:9000的名称更改为someothername:9000?我知道我可以更改计算机上的localhost设置,但我需要通过Web应用程序进行别名处理。
我准备把自己的头发都拔光了 :(

可能是如何将域名分配给node.js服务器?的重复问题。 - stdob--
2个回答

12
作为开发环境,只需要添加

就足够了。
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,则根据需要更改hosts文件。

Marius


1
标准端口?拼写正确吗? - Urasquirrel

9
你无法在express内部更改这一点。域名是由浏览器使用操作系统和DNS服务解析的,而不是由你的express应用程序解析的。任何与express应用程序的连接之前,浏览器都会进行解析。
你可以编辑本地计算机上的host文件,将someothername定义为localhost的别名。如何编辑host文件取决于您所运行的操作系统,因为这是一个特定于操作系统的功能。
回顾一下,在请求网页时,正常的步骤如下:
1. 用户在浏览器中请求特定URL。 2. 浏览器从URL中解析出域名,并使用主机操作系统上的本地基于TCP的服务请求该域名的DNS查找。 3. 主机操作系统查看请求的域名,以查看它是否是它识别或具有缓存条目的主机名。 4. 如果它确实识别主机名或具有缓存条目,则返回对应于该主机名的IP地址给浏览器。 5. 如果它不能识别主机名,则本地计算机联系DNS服务器查找IP地址,并将该IP地址返回给浏览器。 6. 一旦浏览器获得IP地址,它就会在所需端口号上与该IP地址建立TCP连接。 7. 如果IP地址对应于你的Express服务器,则这是你的Express服务器第一次参与此过程。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接