2011-11-27 73 views
4

我有一些麻烦,以正确的方式设置我的虚拟主机文件。 我想通过使用反向代理将访问者发送到正确的服务器。 我目前的设置给了我一个内部错误。需要帮助设置:Apache反向代理

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

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName sub.domain.com 
    ServerAdmin [email protected] 
    ProxyPreserveHost On 
    ProxyPass/http://192.168.1.11:80 
    ProxyPassReverse/http://192.168.1.11:80 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName otherdomain.com 
    ServerAdmin [email protected] 
    ProxyPreserveHost On 
    ProxyPass/http://192.168.1.12:80 
    ProxyPassReverse/http://192.168.1.12:80 
</VirtualHost> 

如果有人能找到任何东西,我做错了或有另一种方式来实现我的目标我很乐意听到这样..

回答

4

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

<VirtualHost *:80> 
    ServerName sub.domain.com 
    ServerAdmin [email protected] 

    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 /部分是neccesary包括CSS和其他文件正确

在另一个加载.conf文件:这是用来inlcude

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 

需要的模块

+0

工藤的给你先生,,我想这也适用于你所托管的虚拟win服务器? – SynerCoder