使用代理库扩展模块

此扩展允许将响应Web服务请求中的URL替换为不同的URL。为了将Web服务请求代理到不同的服务器,同时仍在响应中保留原始URL,这很有用。例如,将WMS请求代理到不同的服务器,但希望将原始URL保留在GetCapability响应的元素中。例如,模块允许在:http://myserver/geoserver/wms处公开服务,并确保功能文档中的所有反向链接都指向这样的主机,而不是在:http://wms.mycompany.com/处公开WMS。

代理库扩展规则

代理基本扩展规则允许根据URL的路径元素匹配要更改的URL,然后指定替换整个URL。

代理库扩展规则由三个必需属性定义:

Attribute

Description

Position

规则的优先级,数字越小优先级越高。规则在第一次匹配的基础上应用。

Matcher

用于匹配路径的模式。可以使用正则表达式来实现匹配。

Transformer

将应用于整个URL的转换。文字表达式可用于实现基于匹配标头值的转换。

以下示例显示了与任何包含子字符串的URL匹配的规则 wfs 在路径中(示例匹配器值为 .*/wfs )并替换完整的URL(示例转换器值为 https://wfs.eastern.com/${myCollection}/${yourFeature} )与 https://wfs.eastern.com/ABigCollection/AnImportantFeature 如果 myCollection 标头设置为 ABigCollection 以及 yourFeature 标头设置为 AnImportantFeature 。请注意,如果转换器中通过文字表达式引用的一个或多个标头不存在,则不会应用该规则。

代理基本扩展规则示例:

../../_images/proxy_base_ext_rule_editor2.png

Example of a Proxy Base Extension rule defined in the UI

此规则将转换URL(当 myCollectionyourFeature 标题已设置)::

http://localhost:8080/geoserver/wfs

致:

https://wfs.eastern.com/ABigCollection/AnImportantFeature

规则管理

在规则管理界面中,可以使用模拟表头来管理和测试规则。除了基本的添加、删除和更新操作外,还可以激活或停用规则。此模块将忽略停用的规则。

../../_images/proxy_base_rule_config.png

规则管理界面

Attribute

Description

Position

规则的优先级,数字越小优先级越高。规则在第一次匹配的基础上应用。

Matcher

用于匹配路径的模式。可以使用正则表达式来实现匹配。

Transformer

将应用于整个URL的转换。文字表达式可用于实现基于匹配标头值的转换。

Active

选中此框后,将应用该规则。

Edit

单击以启动此特定规则的编辑器。

Input

要根据上面列出的规则进行测试的输入URL。

Headers

如果要测试的规则具有文字表达式,则可以在此处以属性文件格式输入测试的模拟标头(等号分隔,每个标头在新行上)。

Output

将规则应用于输入URL的结果将在此处显示在 Test 按钮被点击。

休息API

规则也可以通过REST API进行管理,该API位于 geoserver/rest/proxy-base-ext 。有关它的文档,请参阅 Swagger format