我已經儘可能地四處張望,我已經達到了完全難倒的地步。mod_proxy_html配置 - 截斷問題
我正在與Apache在頂部的紅帽服務器,我使用的是作爲代理外界和其他兩個應用服務器之間坐下,它與完全不同的基地(一個IIS,一個Linux的)。
這兩個服務器都有正確的內部網絡URL,駐留在它們上面的應用程序都能理解。應用程序(DotNetNuke和WordPress派生)都生成HTML 5頁面,其中包含正確/適當的標記,並在代理之外(即內部網絡上)正確呈現。
但是,當通過代理傳遞這些頁面時,結果似乎在CSS和JavaScript文件末尾缺少字符。
所以(實際上),JavaScript代碼是這樣的:
... {return f})})(window);
或CSS是這樣的:
...
background-position:center left;
background-repeat:no-repeat;
}
...變成這樣的代碼:
... {return f})})(window
或者像這樣:
...
background-position:center left;
background-repeat:no-re
代理設置是用的mod_proxy和mod_proxy_html Apache模塊 - 我相當肯定,我遇到的問題是mod_proxy_html的配置,目前看起來是這樣做的:
ProxyHTMLEnable On
ProxyHTMLBufSize 102400
ProxyHTMLExtended On
ProxyHTMLStripComments Off
ProxyHTMLDocType "<!DOCTYPE html>"
ProxyHTMLMeta Off
#ProxyHTMLLogVerbose On
#LogLevel Debug
<Location /xxxxx>
ProxyPass http://www.example.com
ProxyPassReverse http://www.example.com
ProxyHTMLURLMap http://www.example.com /xxxxx
ProxyHTMLURLMap //xxxxx/
</Location>
<Location />
ProxyPass http://10.11.0.51/
ProxyPassReverse http://10.11.0.51/
</Location>
在這裏瀏覽Apache文檔:http://httpd.apache.org/docs/2.4/en/mod/mod_proxy_html.html - 但是不會提供任何直接的線索。
有沒有人遇到過同樣的問題?還是有一些我很想念的東西?
任何幫助將感激地收到!
更新時間:
最終,這個問題似乎是在解析所有內容爲UTF-8編碼mod_proxy_html的默認行爲(當一些內容是不是 - 這不能修改,儘管最好的努力)。
爲此,一些工作之後,mod_substitute代替(只解析文本,文本,忽略文件編碼),旁邊一個緩存解決方案,以加快加載時間。
恥辱mod_proxy_html沒有爲這個項目工作 - 但找到了一種方法做到底!
奇怪更新到這一點 - 我注意到,該代碼在Linux中(如鉻,鉻返回任何瀏覽器,Firefox)被截斷,但在Windows 7環境中,並未在所有瀏覽器中截斷(例如,Internet Explorer,Chrome和Safari均返回截斷文件 - Firefox返回完整文件)。正在提出要求? – Pete
最後解決的問題(通過不使用此模塊實現最終結果的方式) - 但我無法關閉該問題,因此請不要回答! – Pete