我的 nodejs 应用程序与 apache2 的端口重定向

port redirection of my nodejs application with apache2

我的系统由 Amazon LighSail 托管。 我的应用程序是端口 3000 上的 运行Nodejs。 我使用 Let's Encrypt 为我的域名安装了 HTTPS 证书。

现在我想将我的 nodejs 应用程序直接连接到我的子domain.domain.com。 当我转到我的域名 (sub-domain.domain.com) 时,我被定向到 bitnami 主页。

所以我有:

https://sub-domain.domain.com --> bitnami 主页

IP-ADDRESS:3000 --> 我的 nodejs 应用程序

我添加了一个代理来将所有 HTTP 请求重定向到我的端口 3000,但没有成功。

我的代理添加到 /etc/apache2/sites-enabled/000-default.conf :

< VirtualHost *:80 >

ServerAdmin webmaster@localhost

ServerName www.sub-domain.domain.com

ProxyPass / http://127.0.0.1:3000/

ProxyPassReverse / http://127.0.0.1:3000/

DocumentRoot /var/www/html

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined 

< / VirtualHost >

有人有解决我的问题的想法或任何线索吗?

使用 SSL 证书,配置应该更像这样:

<VirtualHost *:80>

        ServerName yoursite.com
        ServerAlias *yoursite.com
        ServerAdmin example@yoursite.com
        DocumentRoot /var/www/yourSite
        LogLevel debug

        SSLEngine on
        SSLCertificateFile /path/to/lets/encrypt/cert
        SSLCertificateKeyFile /path/to/lets/encrypt/key

        SSLProxyEngine on

        ProxyPass "/" "http://127.0.0.1:3000/"
        ProxyPassReverse "/" "http://127.0.0.1:3000/"

        ErrorLog ${APACHE_LOG_DIR}/yourSite_error_https.log
        CustomLog ${APACHE_LOG_DIR}/yourSite_access_https.log combined


</VirtualHost>

已解决!我必须在这个文件中添加我的代理:/opt/bitnami/apache2/conf/bitnami/bitnami.conf