【问题标题】:Apache forward all requests for a specific domain to an express serverApache 将特定域的所有请求转发到快速服务器
【发布时间】:2019-03-31 10:29:01
【问题描述】:

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

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

我知道我可以更改我的 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。

【问题讨论】:

  • 提示:apache reverse proxy.

标签: node.js apache express


【解决方案1】:

在您的 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 上运行。如果不是,请更改它。

【讨论】:

    猜你喜欢
    • 2012-04-23
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 2010-09-12
    • 2012-12-30
    • 2011-06-07
    相关资源
    最近更新 更多