2015-08-27 20 views
0

我已經設置了以下配置我的Apache服務器:Apache的反向使用代理主機文件

<VirtualHost *:80> 
    ServerName www.tld.com 
    ServerAlias *.tld.com 

    ProxyRequests On 
    ProxyPreserveHost On 

    RewriteEngine on 
    RewriteRule ^(.+) $1 [P] 
    ProxyPassReverse/$1 


</VirtualHost> 
<VirtualHost *:443> 
    ServerName www.tld.com 
    ServerAlias *.tld.com 
    ProxyRequests On 
    ProxyPreserveHost On 

    SSLEngine On 
    SSLCertificateFile /etc/ssl/certs/server.crt 
    SSLCertificateKeyFile /etc/ssl/private/server.key 

    ProxyPass/http://localhost/ 
    ProxyPassReverse/http://localhost/ 
</VirtualHost> 

然後,我建立了我的主機文件看起來像這樣:

127.0.0.1 tld.com 
external_ip sub.tld.com 
external_ip_2 sub.tld.com 

external_ip和external_ip_2是運行apache的兩臺服務器,並且也有虛擬主機。對於主域我有一個通配符CSS,並添加了通配符DNS記錄。

對於位於我的/ etc/hosts文件中的所有服務器,代理工作也適用於HTTP和HTTPS。但似乎當我試圖解決一個子域未在我的hosts文件,阿帕奇獲取的卡,並在日誌中我可以看到以下錯誤:

[pid 4690] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting 

我認爲有一個無限循環和我不知道這是爲什麼造成的。我認爲,如果子域未被hosts文件解析,則應該顯示來自代理服務器的頁面。

回答

0

服務器名稱不應該像域名,別名www?像:

ServerName tld.com 
ServerAlias www.tld.com 

似乎有點多餘的給我把服務器名稱作爲子域,一個然後用通配符添加一個別名。

+0

它以任何方式與問題無關。 – roshkattu