5

我在正确设置虚拟主机文件时遇到了一些麻烦。我想通过使用反向代理将访问者发送到正确的服务器。我当前的设置给了我一个内部错误。

我只有 1 个公共 IP,并希望在正确的服务器名称的条件下将访问者代理到本地虚拟服务器之一。

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName sub.domain.com
    ServerAdmin me@domain.com
    ProxyPreserveHost On
    ProxyPass / http://192.168.1.11:80
    ProxyPassReverse / http://192.168.1.11:80
</VirtualHost>

<VirtualHost *:80>
    ServerName otherdomain.com
    ServerAdmin me@domain.com
    ProxyPreserveHost On
    ProxyPass / http://192.168.1.12:80
    ProxyPassReverse / http://192.168.1.12:80
</VirtualHost>

如果有人能发现我做错了什么,或者有其他方法可以实现我的目标,我很乐意听到......

4

1 回答 1

6

得到它的工作!使用以下设置:

<VirtualHost *:80>
    ServerName sub.domain.com
    ServerAdmin me@domain.com

    ProxyRequests Off

    ProxyPreserveHost On

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://192.168.1.11/websvn/
    ProxyPassReverse / http://192.168.1.11/websvn/
</VirtualHost>

/websvn/ 部分必须正确包含 css 和其他文件

在另一个加载的 .conf 文件中:

 LoadModule proxy_connect_module /usr/lib/apache2/modules/mod_proxy_connect.so
 LoadModule proxy_ftp_module /usr/lib/apache2/modules/mod_proxy_ftp.so
 LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so

用于包含必要的模块

于 2011-11-27T12:11:40.333 回答