2015-02-07 51 views
1

我正在使用Apache,mod_rewrite,mod_pagespeed和mod_proxy。爲什麼我的頁面頁面在mod_rewrite中使用服務器名稱時會返回空白?

當通過IP訪問我的頁面(10.10.10.12:80)時,它成功地將我重寫爲10.10.10.12:81,然後代理我到外部服務器(10.10.10.13)。

當通過DNS名稱(www.example.com)訪問我的頁面時,它返回一個空白頁面。查看源代碼顯示應用了我的頁面速度配置,但是我的JS沒有渲染,沒有任何顯示。

下面是我的配置的相關代碼:

<VirtualHost *:80> 
    ProxyRequests off 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 

    RewriteEngine On 
    RewriteLog "/home/dvanpham/rewrite.log" 
    RewriteLogLevel 3 

    #Directs escaped fragment code to an external rendering server 
    RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*) [NC] 
    RewriteRule .* http://10.10.111.54:82/?page=http://10.10.111.54:81/#!%1 [NE,P,L] 

    #Directs all other traffic to port 81, which then sends traffic to 2 other servers 
    RewriteRule ^(.*)$ http://10.10.111.54:81$1 [NE,P] 

    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) 
    RewriteRule .* - [F] 
</VirtualHost> 

<VirtualHost *:81> 
    ProxyRequests off 
    <Proxy balancer://regscluster> 
    # BalancerMember http://10.10.112.47:8280 
    BalancerMember http://10.10.112.48:8280 
    Order Deny,Allow 
    Deny from none 
    Allow from all 
    ProxySet lbmethod=byrequests 
    </Proxy> 
    ProxyPass/balancer://regscluster/ 
</VirtualHost> 

<VirtualHost *:82> 
    ProxyRequests off 
    <Proxy balancer://nodecluster> 
    BalancerMember http://10.10.111.56:8080 
    BalancerMember http://10.10.111.57:8080 
    Order Deny,Allow 
    Deny from none 
    Allow from all 
    ProxySet lbmethod=byrequests 
    </Proxy> 
    ProxyPass/balancer://nodecluster/ 
</VirtualHost> 

請讓我還是知道是否有任何更多信息,我可以提供,如果您有任何洞察到這個問題!

編輯:它看起來像使用域名時,問題是專門與mod_pagespeed和mod_rewrite有關。

+0

檢查訪問和錯誤日​​志以查看正在發生的事情。 – CBroe 2015-02-07 00:39:07

+0

@CBroe我對這方面並不熟悉,有什麼具體的東西我在找? – 2015-02-09 18:50:23

+0

我收到的唯一一個ERROR日誌是關於無法打開丟失的+找到的目錄,但這是通過直接IP和主機名訪問的。 – 2015-02-09 18:59:23

回答

0

問題是,mod_pagespeed正在監聽ProxyPass並相應地重寫URL,但沒有收聽RewriteRule。

設置已

「ModPagespeedMapOriginDomain http://localhost * .domain.com」

的伎倆。

相關問題