节点 - 在本地计算机上设置虚拟主机

Node - Set virtual host on local computer

我正在尝试在我的本地机器上为我的 Node (Express) 项目设置虚拟主机。但我不知道如何避免端口号

这是我在 /etc/hosts 文件中输入的内容。

192.168.151.207  www.potato.com
192.168.151.207  www.tomato.com

我可以通过 www.potato.com:3000 访问网站,但我希望它只是 www.potato.com.

过去几天我一直在谷歌搜索,但大多数解决方案都说使用 Nginx 作为反向代理。我还在某处读到,如果我使用 Nginx,我就不能使用 Socket。套接字是我在项目的下一阶段必须使用的东西。

衷心感谢任何帮助。

你试过 virtualhost npm 包了吗?

Make your HTTP server hostname-aware very simply.

You define the handler for each server name, and that will return the final handler to be passed to your HTTP server.

Works fine with Express.

如果您想为每个虚拟主机提供不同的应用程序(因为它们不能监听相同的端口),您只需要使用 nginx 或任何其他代理解决方案(也有 nodejs 模块可以与您的应用程序集成)。

这里是我问题的答案。我只使用 Nginx 并设置了一个反向代理。 首先在我的 /etc/hosts 文件中添加我要使用的域。

127.0.0.1 tomato.com

这意味着无论何时我打开这个 URL "tomato.com" 浏览器都会更改为 127.0.0.1。但是我的 Express 服务器是 127.0.0.1:3000 上的 运行。现在我们需要将 127.0.0.1 指向 127.0.0.1:3000。使用 Nginx 我们可以配置它。下面给定的代码行执行此操作。 /etc/nginx/sites-available/tomato.conf

server_name tomato.com;

location / {
        proxy_pass "http://127.0.0.1:3000/"

}

有关详细信息,请查看 Digitalocean

中的 post