使用代理库扩展模块¶
此扩展允许将响应Web服务请求中的URL替换为不同的URL。为了将Web服务请求代理到不同的服务器,同时仍在响应中保留原始URL,这很有用。例如,将WMS请求代理到不同的服务器,但希望将原始URL保留在GetCapability响应的元素中。例如,模块允许在:http://myserver/geoserver/wms处公开服务,并确保功能文档中的所有反向链接都指向这样的主机,而不是在:http://wms.mycompany.com/处公开WMS。
代理库扩展规则¶
代理基本扩展规则允许根据URL的路径元素匹配要更改的URL,然后指定替换整个URL。
代理库扩展规则由三个必需属性定义:
Attribute |
Description |
|
规则的优先级,数字越小优先级越高。规则在第一次匹配的基础上应用。 |
|
用于匹配路径的模式。可以使用正则表达式来实现匹配。 |
|
将应用于整个URL的转换。文字表达式可用于实现基于匹配标头值的转换。 |
以下示例显示了与任何包含子字符串的URL匹配的规则 wfs
在路径中(示例匹配器值为 .*/wfs
)并替换完整的URL(示例转换器值为 https://wfs.eastern.com/${myCollection}/${yourFeature}
)与 https://wfs.eastern.com/ABigCollection/AnImportantFeature
如果 myCollection
标头设置为 ABigCollection
以及 yourFeature
标头设置为 AnImportantFeature
。请注意,如果转换器中通过文字表达式引用的一个或多个标头不存在,则不会应用该规则。
代理基本扩展规则示例:

Example of a Proxy Base Extension rule defined in the UI¶
此规则将转换URL(当 myCollection
和 yourFeature
标题已设置)::
http://localhost:8080/geoserver/wfs
致:
https://wfs.eastern.com/ABigCollection/AnImportantFeature
规则管理¶
在规则管理界面中,可以使用模拟表头来管理和测试规则。除了基本的添加、删除和更新操作外,还可以激活或停用规则。此模块将忽略停用的规则。

规则管理界面¶
Attribute |
Description |
|
规则的优先级,数字越小优先级越高。规则在第一次匹配的基础上应用。 |
|
用于匹配路径的模式。可以使用正则表达式来实现匹配。 |
|
将应用于整个URL的转换。文字表达式可用于实现基于匹配标头值的转换。 |
|
选中此框后,将应用该规则。 |
|
单击以启动此特定规则的编辑器。 |
|
要根据上面列出的规则进行测试的输入URL。 |
|
如果要测试的规则具有文字表达式,则可以在此处以属性文件格式输入测试的模拟标头(等号分隔,每个标头在新行上)。 |
|
将规则应用于输入URL的结果将在此处显示在 |
休息API¶
规则也可以通过REST API进行管理,该API位于 geoserver/rest/proxy-base-ext
。有关它的文档,请参阅 Swagger format