2014-10-16 224 views
0

目前我正在爲Linux環境下基於codeigniter和apache的站點安裝https。使用https協議失敗的ajax請求失敗的可能原因但http工作

我檢查了我的證書的配置https://www.digicert.com/help/,大多數頁面都正常工作。

但是一個頁面需要通過jQuery ajax請求從同一站點發送三個頁面,但是無法從這三個源獲取內容。在Chrome控制檯中顯示以下消息。

Failed to load resource: net::ERR_CONNECTION_RESET 

Failed to load resource: net::ERR_CONNECTION_CLOSED 

雖然相同的代碼和頁工作完全與HTTP協議。

我通常最多可以看到1-2個來源的內容。但它無法讓所有人成功。

我修改過一次失敗後再次執行ajax請求。但是,失敗的資源將只是空的內容與http狀態碼200,這意味着瀏覽器成功的頭,但未能獲取內容,或內容原本是空的...

所以這個問題應該是由Apache https配置或與https相關的內容。

另一個奇怪的事情是IE 10工作正常。但在Chrome和FireFox上失敗。

我試過禁用Apache模塊reqtimeout。所以我認爲這不是由https協議處理時間較長造成的。

這不是關於https呼叫http功能的問題,它們都是https資源。

如果有人可以給我一些建議,以進一步測試或解釋可能的原因嗎?提前致謝。

+0

你有沒有得到解決方案? – kamalpreet 2014-10-28 07:43:50

+0

是的,我在下面發佈。希望它能幫助遇到同樣問題的人。 – nh3500 2014-10-30 08:03:47

回答

0

就我而言,這是一個服務器問題。

我注意到,我只在Ubuntu 12.10安裝的Apache 2.2上遇到了失敗的ajax或iframe請求問題。

完全相同的代碼可以在ubuntu 14.04安裝Apache 2.4的測試服務器上運行。所以這花了我一天的時間將所有的數據和服務轉移到新的服務器來解決問題。

因爲我們需要服務器運行並最小化服務器的成本。所以我沒有花太多時間來弄清楚問題的原因。