代理不支持的请求

作者

托马斯堡

联系

t在terriscope.fr的端口

备注

此页是正在进行的工作。

mapcache能够转发其本机无法响应的任何传入请求(通过直接返回一个tile,通过 merging 多块瓷砖等)。

此设置允许将mapcache透明地放置在现有的ogc服务前面,该服务提供服务器以加速所选数量的平铺或getmap请求。 grids ,同时为不支持的网格、WFS请求等维护服务兼容性…

备注

请求代理在 WMS mapcache服务,这在语义上很笨拙。

此行为的配置由wms<service>的<forwarding_rule>元素中的一系列条目激活。按照规则在mapcache.xml配置文件中的显示顺序测试规则,并使用第一个匹配的规则。如果没有定义规则,或者没有规则与传入请求匹配,则会向用户返回错误。

<service type="wms" enabled="true">
   <forwarding_rule name="first rule">
      <!-- rule tests -->
      <!-- proxy destination -->
   </forwarding_rule>
   <forwarding_rule name="second rule">
      <!-- rule tests -->
      <!-- proxy destination -->
   </forwarding_rule>
</service>

<forwarding_rule>由一组匹配规则和一个定义请求应转发到何处的<http>块组成。

参数过滤

这些规则适用于接收到的传入请求中接收到的键值对参数,并添加关键字<param>

<forwarding_rule name="first rule">
  <param name="SERVICE" type="values">
    <value>WFS</value>
    <value>WCS</value>
  </param>
  <!-- ... -->
<forwarding_rule>

“type”属性与允许的属性相同 first level dimensions ,即允许的值是“values”和“regex”。在前面的示例中,规则将匹配任何具有…&SERVICE=WFS&。。。或者…&SERVICE=WCS&。。。在它的请求参数中。

<forwarding_rule name="first rule">
  <param name="SERVICE" type="values">
    <value>WFS</value>
    <value>WCS</value>
  </param>
  <param name="LAYERS" type="values"><value>somelayername</value></param>
  <!-- ... -->
<forwarding_rule>

如果必须对多个参数进行筛选,则可以使用多个规则。在上一个示例中,规则将匹配仅涉及“somelayername”层的WFS或WCS请求。

没有子级的<forwarding_rule>将匹配mapcache无法直接从其缓存提供服务的任何传入请求,并可用于将所有不支持的请求转发到完全符合ogc的服务器,以便将未缓存的响应返回到客户端。

代理目标

一旦<forwarding_rule>匹配,它的<http>子级将用于将请求代理到另一个服务器。

<forwarding_rule name="first rule">
  <!-- ... -->
  <http>
     <url>http://wmsserver/ogc.cgi?</url>
  </http>
<forwarding_rule>

参见

HTTP请求