将对子域的请求拆分到 2 个端口

将对子域的请求拆分到 2 个端口

我在 Apache Web 服务器上有一个子域,其中包含 2 个文件夹:前端和后端。我的前端正在运行一个节点应用程序,而我的后端有一个无头 CMS。我让这两个程序在不同的端口上运行。

我如何设置我的 .htaccess 以便,例如,对 subdomain.domain.com 的请求转到前端,而对 subdomain.domain.com/admin 等某些特定请求转到后端?

答案1

其实很简单。首先,使用以下命令启用一些 Apache 模块:

$ sudo a2enmod proxy proxy_http
$ sudo systemctl restart apache2

修改您的配置,使其看起来像这样:

<VirtualHost *:80>
    # A lot of directives come here...
    ProxyPassPreserve On

    <Location /frontend>
        ProxyPass http://localhost:8000/
        ProxyPassReverse http://localhost:8000/
    </Location>

    <Location /backend>
        ProxyPass http://localhost:8001/
        ProxyPassReverse http://localhost:8001/
    </Location>
</VirtualHost>

使用以下命令重新启动或者重新加载 Apache 服务:

$ sudo systemctl reload apache2

相关内容