Apache将对特定域的所有请求转发到快速服务器

时间:2019-03-31 10:29:01

标签: node.js apache express

首先,我不是这个问题的Apache专家或Apache初学者。我有一个侦听服务器,侦听端口443。我将其托管在运行Centos7的VPS上,该托管了大约40个其他网站,据我所知,它们使用Apache进行服务器(我没有真正配置它,我使用了cPanel和WHM)。

现在,由于我知道Apache正在监听端口443,以便为网站提供服务,所以我想知道如何将Apache与Express服务器结合(如果有办法的话)。

我知道我可以更改快速应用程序的端口,但是该端口将显示在我的应用程序的地址栏上,我不希望这样做。

由于我对Apache的了解有限,因此我真的不知道该尝试什么。如果您需要它们,我们将乐意提供更多详细信息。

非常感谢!

编辑:

我尝试编辑/etc/apache2/conf/httpd.conf下的默认httpd.conf文件。

这就是我所做的:

<VirtualHost MY-IP:443>
ServerName <mydomain.com>
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
 ProxyRequests Off
    <Proxy *>
     Require all granted
    </Proxy>
  ProxyPass / <mydomain:8443.com>
  ProxyPassReverse / <mydomain:8443.com>
  <Location />
       Require all granted
   </Location>
 SSLEngine On
 SSLCertificateFile /var/cpanel/ssl/apache_tls/leadu.co.il/combined
</VirtualHost>

我从this post中获取了配置。

使用此配置,当我尝试访问域时,出现内部错误500。

1 个答案:

答案 0 :(得分:0)

在您的apache配置文件中,您应该添加以下内容:

如果要从子文件夹(https://yourwebsite/express-app/)投放应用程序,请执行以下操作:

    ProxyPass /express-app/ http://localhost:3000/
    ProxyPassReverse /express-app/ http://localhost:3000/

如果您想从根目录(https://yourwebsite)服务您的应用程序:

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

我假设您的应用程序在端口3000上运行。否则请进行更改。