第二十三章 Web 網關的配置基礎知識

第二十三章 Web 網關的配置基礎知識

配置 Web 服務器以與 Web 網關配合使用后,請根據需要配置 Web 網關。可以使用管理頁面來配置默認參數、單個服務器和 Web 應用程序。

此頁面提供有關一些常見配置主題的附加信息。

Web 網關配置和日志文件

Web Gateway 創建并使用配置文件和日志文件,分別命名為 CSP.iniCSP.log。為了方便起見,管理頁面指示了這些文件的位置。

提示:很少需要直接編輯配置文件,因為通常通過管理頁面進行配置。如有必要,文檔會描述配置中的指令。如果需要直接編輯配置文件,請參閱卡中 %CSP.Mgr.GatewayMgr 的類引用。方法 SetApplicationParams、SetDefaultParmsSetServerParams 提供參數的簡短描述。

自動路由到IRIS 的文件類型

InterSystems 文件類型在IRIS 中處理(特別是由 CSP 引擎)。所有其他文件(靜態文件)可由 Web 服務器或 CSP 引擎提供服務。 CSP 引擎可以為放置在 Web 應用程序路徑中的任何類型的文件(包括靜態文件)提供服務。設置 CSP 引擎來提供靜態文件可以簡化 Web 應用程序的 Web 服務器配置,因為您無需在 Web 服務器配置中創建別名來表示應用程序靜態文件的保存位置。設置 CSP 引擎來提供靜態文件可以解決當單個(即通用)Web 服務器提供兩個不同版本的 IRIS 服務時的爭用問題,每個版本都需要不同版本的某些靜態文件(例如,超級事件代理組件)。

要讓 CSP 引擎為特定 Web 應用程序提供靜態文件,請將靜態文件放置在 Web 應用程序的文件系統中相對于構成應用程序的 CSP 文件的正確位置(而不是放置在 Web 服務器自己的文檔文件系統中)。

注意:要運行基于 Zen 的應用程序,必須啟用“服務文件”選項并正確配置 Web 服務器。

IRIS 提供靜態文件

可以配置 Web 服務器和 Web 網關安裝,以便 IRIS 承擔提供靜態文件的責任。管理門戶針對 IRIS 配置為為應用程序中的所有組件提供服務。但是,仍然可以配置 Web 服務器,使其保留提供靜態文件的責任。

IRIS 數據庫服務器為所有 CSP 提供服務。它還可以通過 Web 網關為 Web 應用程序提供任何類型的靜態文件。在標準 Web 應用程序中,Web 服務器(不是數據庫服務器)通常提供靜態內容。

表示字符編碼

CSP 引擎通過流服務器,以與主要 Web 服務器一致的方式處理靜態文件,以確定 JavaScript 文件的字符編碼?,F代約定是將所有 JavaScript 文件標記為 application/javascriptContent-Type,并且您確保頁面上使用的所有 JavaScript 文件都是這種情況。

JavaScript 文件以這種方式標記:

  • 如果文件包含 BOM(字節順序標記),瀏覽器會自動檢測到它并使用正確的字符集來讀取它。
  • 如果文件不包含 BOM,則瀏覽器假定該文件是 UTF-8。

如果需要覆蓋此行為以指定 JavaScript 文件的字符集,請將Global ^%SYS("CSP","MimeFileClassify","JS") 設置為列表值 $listbuild(contenttype, binary, charset)。例如,

SET ^%SYS("CSP", "MimeFileClassify", "JS") = $listbuild("text/javascript", 0 ,"ISO-8859-1") 

這將設置較舊的內容類型并使用 ISO-8859-1 字符集。此外,如果 Caché 轉換表定義為空字符串以外的其他內容,或者Global節點 ^%SYS("CSP","DefaultFileCharset") 設置為空值,Caché將為所有 JavaScript 使用此字符集和其他文本文件。默認情況下,這兩個Global節點均未設置。

啟用服務文件選項

Web 應用程序的“服務文件”選項具有以下值:

  • Always — 服務文件已打開。
  • No — 服務文件已關閉。
  • Always and cachedWeb Gateway 可以緩存 Web 服務器上的靜態文件。此設置提高了效率,因為系統可以提供緩存的靜態頁面,而無需返回 IRIS 服務器。
  • Use InterSystems Security — 如果用戶具有訪問 IRIS 實例作為 Web應用程序一部分的動態 .csp.cls 頁面的適當授權,則該實例的 CSP 引擎將在該 Web 應用程序位置處理對靜態文件的請求。如果用戶沒有適當的授權,則 CSP 服務器將返回 HTTP 404 響應。

配置 Web 服務器以允許 IRIS 提供靜態文件

默認情況下,InterSystems 提供的安裝腳本不會查找或配置外部 Web 服務器。如果運行自定義安裝,則可以選擇配置任何先前安裝的 IISApache Web 服務器的選項,以啟用對 CSP 引擎的支持。安裝腳本創建 /csp 虛擬目錄并創建由 Web Gateway 處理的 InterSystems 文件類型的映射。這足以讓 CSP 引擎通過該 Web 服務器正常運行。它不啟用對服務文件功能的支持。您必須手動配置 Web 服務器以映射要通過 Web 網關處理的特定文件擴展名。這是設計使然,因為通過這種機制開放數據庫服務器會帶來安全風險,不應該在無形中進行。

有關 Web 服務器的說明,請參閱映射其他文件類型。

Web 服務器提供靜態文件

可以使用從 Web 服務器提供靜態頁面的傳統配置。在這種情況下,靜態文件選項的設置無關緊要。當公共 Web 服務器為兩個不同版本的 InterSystems IRIS 提供服務(每個版本需要不同版本的某些靜態文件(例如超級事件代理組件))時,這可以消除爭用。

如果已將 Web 服務器本身配置為提供靜態文件,請確保每個 Web 服務器上都存在靜態內容。

在高可用性解決方案的硬件負載均衡器上啟用粘性會話

對于通過 CSP 運行的高可用性解決方案 建議使用硬件負載平衡器進行負載平衡和故障轉移。 要求在負載均衡器中啟用粘性會話支持;這保證了——一旦在給定的 Web 網關實例和給定的應用程序服務器之間建立了會話——來自該用戶的所有后續請求都在同一對上運行。此配置可確保會話 ID 和服務器端會話上下文始終保持同步;否則,可能會在一臺服務器上創建會話,但來自該用戶的下一個請求在不存在該會話的不同系統上運行,這會導致運行時錯誤(尤其是超級事件,需要會話密鑰來解密該會話)要求)。有關如何啟用粘性會話支持的說明,請參閱負載均衡器文檔。

注意:可以將系統配置為在沒有粘性會話的情況下工作,但這需要將 Web 會話Global映射到企業中的所有系統上,并且可能會導致嚴重的鎖爭用,因此不建議這樣做。

啟用腳本以重新激活 Web 網關配置

可以啟用 IRIS 外部的腳本來重新激活 Web Gateway 的配置。

腳本應將以下行(區分大小寫)添加到 Web 網關配置文件的 SYSTEM 部分:

   [SYSTEM]
   RELOAD=1

Web Gateway 看門人守護程序大約每分鐘檢查一次 RELOAD 標志,如果設置正確,則重新加載并重新激活其配置并從文件中刪除該標志。成功重新加載操作后,以下消息將寫入 Web Gateway 事件日志:

   Gateway Management
   Gateway Configuration Reloaded and Reactivated

混合多進程/多線程Web服務器架構

Web Gateway 包含對混合多進程/多線程 Web 服務器架構的增強支持。 UNIX? 下的 Apache 版本 2.4 是根據此架構實現的 Web 服務器的一個示例。

核心 Web Gateway 資源保存在共享內存區域中。所有Web服務器工作進程都有一個共同的運行配置、連接表和表單緩存。 Web Gateway 系統狀態表單顯示整個 Web 服務器安裝的狀態,而不僅僅是單個工作進程的狀態。狀態表單的連接表包括一個額外的列,其中包含與 IRIS 的每個連接相關的 Web 服務器進程 ID。

最后,多進程架構支持狀態感知會話。盡管連接池(到 IRIS)分布在多個 Web 服務器進程中,但 Web 網關使用進程間通信 (IPC) 協議將狀態感知會話的請求路由到 Web 服務器環境中的正確托管進程。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容