配置数据流服务

发送反馈


SuperMap iServer支持快速发布数据流服务(DataFlow Service),发布成功后,您可以在配置文件iserver-dataflow.xml中查看到数据流服务配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<com.supermap.service.dataflow.config.DataFlowSetting> 
  <serviceSettings> 
    <com.supermap.service.dataflow.config.DataFlowServiceSetting> 
      <name>Dataflow</name>  
      <interfaceNames>
        <string>dataflow</string>
      </interfaceNames>  
      <enabled>true</enabled>
    </com.supermap.service.dataflow.config.DataFlowServiceSetting>
  </serviceSettings>  
  <interfaceSettings/>
</com.supermap.service.dataflow.config.DataFlowSetting>

其中<serviceSetting>包含数据流服务的各配置项:

WSS 配置

如果您期望通过使用 HTTPS 加密后的 WebSocket 连接来广播和订阅数据,在使用功能前,您还需要开启 WSS 配置。请注意,WSS 一经设置,将在所有数据流服务中生效。 为开启 WSS 配置,您还需要先行生成服务器端证书(公钥),详见:生成服务器证书

您可以在数据流服务管理页面开启 WSS 配置。依次点击【服务】、【服务管理】和您发布的数据流服务,在【WSS 配置】中设置如下参数:

配置完毕后,点击“保存”按钮 。访问 https://<本机ip>:<WSS端口>/iserver,使浏览器信任服务器端证书后,即可完成 WSS 配置,开启 HTTPS 加密后的 WebSocket 连接。

Nginx 配置

当在 Docker 中部署 iServer 时,如需要使用 Nginx 代理 dataflow 服务,应对 Nginx 进行配置。首先配置和启动 Nginx 服务器,具体请参考使用 Nginx 配置(建议安装 1.3.13 后的版本,因为在反向代理时客户端不知道任何代理服务器,需要在代理服务器上进行特殊处理。而从 1.3.13 版本开始,Nginx 实现了一种特殊的操作模式,即当代理服务器响应返回 101 且客户端通过请求中的“Upgrade”报头请求协议交换时,允许在客户端和代理服务器之间建立隧道)。

配置、启用 Nginx 完成后,还需在 Nginx 的配置文件(nginx.conf)头部中加入以下内容:

http {

    map $http_upgrade $connection_upgrade {

        default upgrade;

        ''      close;

    }

   

在 Nginx 的配置文件(nginx.conf)server 节点中加入以下内容:

 server {

        ...

        location /iserver/ {

            proxy_pass http://127.0.0.1:8090/iserver;  // 请修改为您期望代理转发的地址

            proxy_http_version 1.1;

            proxy_set_body $request_body;

            proxy_set_header Upgrade $http_upgrade;

            proxy_set_header Connection $connection_upgrade;

        }

    }

完成以上配置后即可通过 Nginx 代理 dataflow 服务。