第二十三章 Web 网关的配置基础知识

文章目录

  • 第二十三章 Web 网关的配置基础知识
  • Web 网关配置和日志文件
  • 自动路由到`IRIS` 的文件类型
  • 从 `IRIS` 提供静态文件
    • 表示字符编码
  • 启用服务文件选项
  • 配置 `Web` 服务器以允许 `IRIS` 提供静态文件
  • 从 `Web` 服务器提供静态文件
  • 在高可用性解决方案的硬件负载均衡器上启用粘性会话
  • 启用脚本以重新激活 `Web` 网关配置
  • 混合多进程/多线程Web服务器架构

第二十三章 Web 网关的配置基础知识

配置 Web 服务器以与 Web 网关配合使用后,请根据需要配置 Web 网关。可以使用管理页面来配置默认参数、单个服务器和 Web 应用程序。

此页面提供有关一些常见配置主题的附加信息。

Web 网关配置和日志文件

Web Gateway 创建并使用配置文件和日志文件,分别命名为 CSP.iniCSP.log。为了方便起见,管理页面指示了这些文件的位置。

提示:很少需要直接编辑配置文件,因为通常通过管理页面进行配置。如有必要,文档会描述配置中的指令。如果需要直接编辑配置文件,请参阅卡中 %CSP.Mgr.GatewayMgr 的类引用。方法 SetApplicationParamsSetDefaultParmsSetServerParams 提供参数的简短描述。

自动路由到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 文件的字符编码。现代约定是将所有 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 ManagementGateway 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 服务器环境中的正确托管进程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“先干后看”式循环

题目:计算 ,直到最后一项小于 。 注意题目要求:计算到最后一项小于 。也就是这一项是要参与到计算中的,计算完这一项才能触发循环停止条件。 这种先运算后判断的情况很对do-while循环的胃口。 do就是做嘛,while就是…

代码随想录算法训练营第二十七天(二十六填休息) | 39. 组合总和、40、组合总和 II、131. 分割回文串

代码随想录算法训练营第二十七天(二十六填休息) | 39. 组合总和、40、组合总和 II、131. 分割回文串 39. 组合总和题目解法 40、组合总和 II题目解法 131. 分割回文串题目解法substr()用法 感悟 39. 组合总和 题目 解法 初始解法:出现重复组…

Faust勒索病毒:了解最新变种[nicetomeetyou@onionmail.org].faust,以及如何保护您的数据

导言: 在一个快节奏的数字世界中,我们经常忽视数据安全的重要性。然而,最新的勒索病毒——[nicetomeetyouonionmail.org].faust、[support2022cock.li].faust、[tsai.shenmailfence.com].faust 、[Encrypteddmailfence.com].faust、[Deciphe…

哪些业务行为是否属于数据出境?

国家互联网办公室出台的《数据出境安全评估申报指南(第一版)》明确了“数据出境活动”的定义,即包括三种情况: (一)数据处理者将在境内运营中收集和产生的数据传 输、存储至境外; &#xff08…

Vue打包问题汇总:legacy、runtime.js

问题一:Vue3.x的版本中build后dist文件中出现legacy的js文件 解决办法是添加兼容的浏览器 package.json "browserslist": ["> 1%","last 2 versions","not dead","not ie 11" ]参考 Vue3.x的版本中build后…

Java学习笔记18——深入学习字符串

任何语言,编写的所有应用,大概都会用到大量字符串,以及对字符串进行处理,Java语言中,对与字符串的处理和Python等语言中不同。昨天学习JDBC内容,编写的一个类中比较两个字符串变量值,没有注意到…

.NET高级面试指南专题十八【 外观模式模式介绍,提供了简化的接口,隐藏系统的复杂性】

介绍: 外观模式是一种结构设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。外观模式定义了一个高层接口,使得子系统更容易使用。 原理: 外观类(Facade Class):提供了一…

如何用Python搭建聊天室

项目实战(服务器端) 1.服务器类 首先需要一个聊天服务器,这里继承asyncore的dispatcher类来实现,代码如下 class ChatServer(dispatcher):"""聊天服务器"""def __init__(self, port):dispatcher…

使用verilog设计有限状态机实现的跳一跳游戏及其testbench仿真测试

设计跳一跳游戏的有限状态机可以分为以下几个主要步骤: 确定状态及状态转移条件: 确定游戏中可能存在的状态,如等待开始、准备跳跃、跳跃中、检查落地等。 确定不同状态之间的转移条件,例如何时从等待开始状态转移到准备跳跃状态,如何触发跳跃动作,跳跃是否成功等。 定…

可视化场景(5):生产监控,比摄像头好用多了。

hello,我是贝格前端工场,本期分享可视化大屏在生产监控场景的应用,如需要定制,可以与我们联络,开始了。 实时监控 可视化大屏可以实时展示生产线上的各种关键指标和数据,如生产速度、设备状态、产量、质量…

html密码访问单页自定义跳转页面源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 密码访问单页自定义跳转页面,修改了的密码访问单页,添加了js自定义密码跳转页面。需要正确输入密码才能跳转目标网址。 二、效果展示 1.部分代码 代码如下&…

亚马逊、速卖通如何实现批量注册自动养号?

亚马逊和速卖通作为全球领先的跨境电商平台,其账号对于卖家而言具有重要的商业价值。随着跨境电商行业的蓬勃发展,越来越多的人对亚马逊、速卖通账号的需求日益增长,这也催生了批量注册和自动养号的需求。 跨境智星作为一款集成了批量注册账号…

JAVA基础 数组,字符串与正则表达式

数组 数组的概念 将相同类型的数据按一定顺序排列构成的大小确定的集合 数组元素类型可以为基本数据类型,也可以为引用类型 Java语言内存分配 栈内存:基本数据类型的变量或者引用类型的变量,超出作用域将自动释放 堆内存:存…

每日五道java面试题之mybatis篇(二)

目录: 第一题. Mybatis优缺点第二题. Hibernate 和 MyBatis 的区别?第三题. MyBatis编程步骤是什么样的?第四题. 请说说MyBatis的工作原理第五题. MyBatis的功能架构是怎样的? 第一题. Mybatis优缺点 优点 与传统的数据库访问技术相比,ORM…

Leetcode 3.18

Leetcode hot100 二叉树1.路径总和 III2.路径总和 II3.二叉树的所有路径4.二叉树的最近公共祖先 回溯1.电话号码的字母组合 二叉树 1.路径总和 III 路径总和 III 思路:我们访问每一个节点 node,检测以 node 为起始节点且向下延深的路径有多少种。递归遍…

【Linux】Ubuntu22.04中使用ssh、scp时报错:Their offer: ssh-rsa

1、问题描述 使用scp拷贝文件时报错: Unable to negotiate with xxx port 22: no matching host key type found. Their offer: ssh-rsa lost connection2、原因分析 查看OpenSSH版本 ssh -V OpenSSH_8.9p1 Ubuntu-3ubuntu0.6, OpenSSL 3.0.2 15 Mar 2022查看官网的说明:…

【ACL2023获奖论文】比你想的更弱:对弱监督学习的批判性审视

【ACL 2023获奖论文】主题论文奖:7.Weaker Than You Think: A Critical Look at Weakly Supervised Learning 写在最前面引言正文问题1:对WSL来说,clean data是否必要?问题2:WSL需要多少的clean data?问题3…

elasticsearch基础学习

elasticsearch简介 什么是elasticsearch elasticsearch(简称es),其核心是 Elastic Stack,es是一个基于 Apache Lucene(TM)的开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据…

如何在开放麒麟系统安装cpolar内网穿透实现公网环境下SSH远程连接

文章目录 1. 安装SSH服务2. 本地SSH连接测试3. openKylin安装Cpolar4. 配置 SSH公网地址5. 公网远程SSH连接小结 6. 固定SSH公网地址7. SSH固定地址连接 openKylin是中国首个基于Linux 的桌面操作系统开发者平台,通过开放操作系统源代码的方式,打造具有自…

裸金属租赁的意义

裸金属,这个名词听起来好“硬核”,如果对于一个新手来讲,怎么也不会将这个概念和IT行业、计算机、服务器等内容进行关联,它可能更应该是工业领域的一种产品或者物质,可真正关联到其实际概念恰恰与当前的主流行业如&…