Apache-2.2

Apache 和 glassfish 之間的通信

  • April 24, 2015

我們目前正在使用 HTTPD 伺服器 (apache) 來處理客戶端請求。請求被進一步代理到提供內容的應用伺服器(glassfish)。內容是靜態文件(軟體圖像)。下面是使用的 ProxyPass 指令。

ProxyPass /access/sw http://localhost:8080/access/sw

我們希望 Apache 處理靜態內容,因為它可以釋放 glassfish 來做其他工作。唯一的問題是請求仍然需要被定向到 glassfish 以檢查業務邏輯。glassfish 伺服器在執行業務邏輯後應向 Apache 發送響應,確認允許客戶端下載軟體映像。它還可以向 Apache 發送否定響應以拒絕客戶端請求。

如何實現這一目標?是否有任何 apache 模組來處理這個問題?重申一下,以下是否可以實現?

Request from client -> Apache -> Glassfish (runs the business logic) -> responds back to Apache if client should be allowed to download -> Apache serves the static file depending on glassfish response

PS - 客戶端無法處理重定向請求。客戶端發送單個 GET

只是大聲思考。我可以考慮兩種情況。

第一個是您可以在您的 apache 上使用 PHP(或 python、ruby …)。

只需在下載文件時讓使用者請求 PHP 腳本,然後您的 php 將向 glassfish 發出請求(是否允許該使用者下載此軟體?)如果可以,則從 PHP 提供您的請求,否則以 403 響應(禁止)。

第二個將執行與上面相同的操作,但以 apache 模組的形式。

引用自:https://serverfault.com/questions/685280