2012-03-21 21 views
4

我在CentOS上使用Drupal 6和最新的服務模塊運行LAMP堆棧。通過HTTP,我運行的REST服務器工作正常,並按預期運行。當服務中的REST服務器啓用SSL時,沒有返回任何數據模塊

當我安裝了一個SSL證書時,我強制所有端口80流量到443(SSL)。這適用於Drupal,但已導致REST服務器不返回任何數據。當然,我已經刪除了強制SSL,並暫時允許HTTP和HTTPS。

我通過Fiddler進行測試,當用來通過HTTP訪問端點時,Fiddler返回預期的數據。通過HTTPS測試我沒有收到任何數據。我是否需要對REST服務器進行配置更改(即我錯過了文檔中的某些內容)。

在此先感謝您的支持!

編輯

爲了清楚地示區別,我做了一個匿名POST請求到終點(也有可能是一個GET請求終點並沒有真正的方法,但這樣會返回一條消息,讓我們知道它仍然在那裏)。我得到了成功的消息,即終點是通過HTTP運行的。然而,HTTPS根本沒有返回任何數據。我在下面的圖片中顯示了這一點。

HTTP

enter image description here

HTTPS

Request via HTTPS

的.conf SSL規則 這些線不再使用,但在這裏說明我WA s在做。

#RewriteCond %{SERVER_PORT} !^443$ 
#RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 

EDIT2:

我發現我的Drupal論壇相關的一些搜索http://drupal.org/node/704308

+0

你能發佈完整的請求和響應頭嗎?這絕對是服務器的問題,而不是像客戶端無法驗證SSL證書? – Eli 2012-03-23 20:28:32

+0

我已經在上面添加了一些額外的信息。請注意,我已經註釋了導致重定向以幫助強制安全連接的行。這些並不是我看起來似乎很難受的原因。 – 2012-03-23 21:43:38

回答

1

你描述的聲音很像這兩個中的一個:

  1. 東西是不聽它應該偵聽的端口上。如果Apache將一個請求轉發給一個破損的套接字,那麼我期望它會返回一個500錯誤代碼,所以我們的目標是試圖找出消息的去向,應用程序監聽的端口,您的REST應用程序甚至支持HTTPS握手,等等。

  2. Apache並沒有像解釋端口80上的請求那樣解釋你在端口443上的請求。這聽起來有點可疑,因爲你說Drupal的工作超過了443,而你寫的東西沒有生成頭文件 - 如果Apache將您的API請求轉發到您的Drupal應用程序,那麼當它無法正確解釋API請求時,您至少會看到頭文件,404等。

沒有更多信息我不確定我們可以提供幫助。

+0

要清楚我沒有正確設置我的虛擬主機。我試圖使用基於名稱而不是基於IP的虛擬主機。 I.E <虛擬主機mydomain:443>而不是<虛擬主機*:443>(我只有一個IP用於此服務器)。 – 2012-03-30 17:46:02

2

很難沒有更多的細節說一下你如何強制使用HTTPS,但我想這使用重定向。

如果是這種情況,這不是很有用,更可能給你a false sense of security。如果客戶端被配置爲使用HTTP,即使服務器通過重定向將其強制爲HTTPS,初始請求仍然通過普通HTTP(在重定向之前)進行。

如果您的客戶端仍然配置爲使用http:// URL(並且您依靠重定向來使其使用HTTPS),那麼重定向的POST請求將丟失其正文(並且很可能是GET)事實),請參閱this answer。因此,您的請求根本無法像您期望的那樣工作。

你應該檢查你的web服務客戶端使用https:// URL和您從Web服務到自身,無論序列的URL也使用https://(或者說,他們是相對的,客戶是能夠留在HTTPS )。

編輯:找出你是否得到一個問題與重定向

一種方法是在你的Apache httpd配置注​​釋掉Listen 80完全關閉普通HTTP(甚至不使用重定向),例如。如果情況變得更糟(例如,您收到消息說您無法連接),那麼問題與設置的錯誤重定向(如上所述)有關。

+0

我上面添加了一個編輯,以顯示我是如何強制SSL的。這現在已被註釋掉,因此我不再通過HTTPS強制流量。我正在通過drupal模塊代碼來查看是否有任何對該網站的默認網址的引用。儘管如此,還有很多需要解決的問題。 – 2012-03-23 21:34:27

+0

我認爲還值得注意的是,從我上面的示例:原始請求可以是POST/GET和我將有相同的響應(因爲終點沒有任何方法,所以它有效地說「你好,我是這裏「作爲其迴應)。所以即使POST成爲GET,我仍然應該收到一些數據,即使它是一個錯誤 - 對吧? – 2012-03-23 21:42:25

相關問題