域的NodeJS无端口号(nodejs domain without port number)

2019-07-18 03:53发布

(Ubuntu的10.04)我已经部署在VPS我的应用程序的NodeJS。 我主持它的一个子域(subdomain.myapp.com:3000),我只是有一个IP地址

默认情况下,端口80是使用Apache作为默认。 我只是希望我的应用程序应该在3000端口上运行,但URL应该是(subdomain.myapp.com)

这是可能的或的NodeJS我必须调整我的虚拟主机或Apache的文件。

Answer 1:

对的,这是可能的

在Apache虚拟主机文件具有以下配置

<VirtualHost *:80>
    ServerName subdomain.myapp.com

    ProxyRequests off

    <Proxy *>
            Order allow,deny
            Allow from all
    </Proxy>

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    ProxyPreserveHost on
</VirtualHost>

你应该有

NameVirtualHost *:80

在你的文件的顶部,安装的Apache还代理模块(我认为这是Ubuntu的默认配置)

LoadModule proxy_module lib/httpd/modules/mod_proxy.so

它必须在httpd.conf文件

那么你应该重新启动Apache和它必须是精品!



Answer 2:

Apache 2.4 @drinchev答案只是一个更新。*

启用代理模式:

a2ensite proxy_http
a2ensite proxy

然后 :

<VirtualHost *:80>
    ServerName subdomain.myapp.com

    ProxyRequests off

    <Proxy *>
            Require all granted
    </Proxy>

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    ProxyPreserveHost on
</VirtualHost>


Answer 3:

我需要做同样的事情,@ drinchev的回答几乎是为我工作,而是因为我在我的dev的盒子运行多个虚拟主机它也不太。 一对夫妇的小改动瞒住重挫我的所有其他虚拟主机。

<Proxy *>

需要的是

<Proxy mynodejs.mydevbox.local>

<VirtualHost *:80>

需要的是

<VirtualHost mynodejs.mydevbox.local:80>

所以,在我的本地开发机被命名为“mydevbox.local”和我的节点虚拟主机正在侦听端口3000,我的最终配置看起来更像是:

<VirtualHost mynodejs.mydevbox.local:80>
    DocumentRoot "/Library/WebServer/Documents/mynodejs"
    ServerName mynodejs.mydevbox.local
    ServerAlias mynodejs.mydevbox.local

    ProxyRequests off

    <Proxy mynodejs.mydevbox.local>
            Order allow,deny
            Allow from all
    </Proxy>

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    ProxyPreserveHost on
    ErrorLog "/private/var/log/apache2/mynodejs_error_log"
    CustomLog "/private/var/log/apache2/mynodejs_access_log" common
</VirtualHost>

<VirtualHost myothervhost.mydevbox.local:80>
    DocumentRoot "/Library/WebServer/Documents/myothervhost"
    ServerName myothervhost.mydevbox.local
    ServerAlias myothervhost.mydevbox.local
    ErrorLog "/private/var/log/apache2/myothervhost_error_log"
    CustomLog "/private/var/log/apache2/myothervhost_access_log" common
</VirtualHost>

其他虚拟主机可以遵循



文章来源: nodejs domain without port number
标签: node.js url port