我目前对使用 node 很感兴趣,所以我想为我的公司构建一个小型应用程序。我们有一个 Apache Web 服务器,用于处理我们当前的 Web 应用程序。我的问题是,如何在同一台服务器上托管一个 node 应用程序,而不必让应用程序的用户输入端口号?IE:
我的主服务器ip是:123.456.789
myapp.com/ -> 转到主服务器(端口 80) mynodeapp.com/ -> 转到主服务器(但应用程序在端口 3000 上运行)
我如何让 mynodeapp.com 转到该主服务器但知道使用端口 3000(无需我的用户在 url 中输入端口)?
我假设我必须让流量照常进入端口 80,然后让 apache 重定向?谢谢,我不是服务器管理员,我知道的足以让我陷入麻烦 :)
答案1
# The *:80 part must match the config of your existing virtual host(s), and
# a NameVirtualHost directive in your main config somewhere.
<VirtualHost *:80>
# This determines what requests get sent to this virtual host:
ServerName mynodeapp.com
# Proxy all requests to the port 3000 listener:
ProxyPass / http://127.0.0.1:3000/
# This handles the translation of the location header in 30x responses:
ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>
如果您现有的配置未使用虚拟主机,则您首先需要进行一些其他调整 - 提供有关现有配置的更多详细信息,我们可以提供帮助。