如何设置反向代理以将域名转发到不同的服务器?

如何设置反向代理以将域名转发到不同的服务器?

我有一台装有 Apache 的 CentOS5 服务器,它有一个外部 IP 地址,主机名为“example.com”。

我喜欢的是

sub1.example.com sends http requests to 10.10.10.10
sub2.example.com sends http requests to 10.20.20.20

看看mod_proxy对于 Apache,我不知道需要配置什么才能获得它。

有人知道怎么做吗?

答案1

您必须为 apache 创建两个虚拟主机,每个子域一个,作为指定 IP 的反向代理。

类似于

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName sub1.example.com

    ErrorLog "var/log/sub1_error_log"
    CustomLog "var/log/sub1_access_log" common

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://10.10.10.10/
    ProxyPassReverse / http://10.10.10.10/
</VirtualHost>

<VirtualHost *:80>
    ServerName sub2.example.com

    ErrorLog "var/log/sub2_error_log"
    CustomLog "var/log/sub2_access_log" common

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://10.20.20.20/
    ProxyPassReverse / http://10.20.20.20/
</VirtualHost>

相关内容