Tag Archives: Portal for ArcGIS

在Portal for ArcGIS中设置Federated Servers时请求报500错误的解决办法

  Portal for ArcGIS 10.2版本开始,可在Portal的组织管理中设置Federated Servers即联合服务器,从而通过Portal for ArcGIS来托管与之联合的ArcGIS for Server站点的安全性,使得两者的单点登录,以及后续使联合服务器变成Hosting Server(托管服务器),并在其上发布托管服务成为可能。关于两者的介绍和具体操作步骤请参考相关文档。这里说一下设置联合服务器时一个常见问题的解决办法。
  在Portal的组织管理页面中,添加联合服务器时,有可能会出现如下错误:image

image
  具体请求是Portal的代理页面通过https方式访问要关联的ArcGIS for Server站点token服务时服务器端报500 internal error。
image
  直接通过https方式访问上述token服务地址:
image
  发现此证书不受信任,有安全警告;而如果通过https方式访问Portal,
image

  证书是已经导入机器的受信任根证书颁发机构的,所以证书可信,没有安全警告。你可能还发现,上面两个证书的颁发者,颁发对象均不一样,说明这是两个完全不同的证书。这是因为第一个没有受信的证书是ArcGIS for Server自带的tomcat中6443端口使用的证书,此证书是在安装完ArcGIS for Server后,第一次创建站点时就会自动生成的,存放在config-store中该机器文件夹下的key stroe中;而后面的证书是我在IIS中自己创建的域证书,是IIS中的443端口使用的证书。如果你在联合服务器时遇到同样错误,很可能会发现两个证书的颁发者和颁发对象是同名的(大小写不一样),这是通常情况,我这里不同名是因为装完ArcGIS for Server之后,安装Portal之前修改了机器名。修改机器名为full qualified domain name步骤是必须的,应该在装ArcGIS for Server之前完成。
  经过与同事讨论及实验得知,最初那个500错误是因为ArcGIS for Server站点6443端口安全证书不受信任引起的。所以解决办法有以下几种:

  • 同Portal的443端口(其实Portal是7443端口,通过443是Web Adaptor的端口)所使用证书的处理办法一样,将6443端口的证书也导入机器的受信区域。如果导入成功,浏览器访问ArcGIS for Server的6443端口应该不再有警告信息,如此在Portal中联合服务器时就不会报500错误了;
  • 既然IIS中自己创建的证书已经设为可信了,那么可以指定ArcGIS for Server的6443端口使用同样的证书,则通过https访问6443端口时自然也不会报警告信息。大致步骤是,从iis中导出证书,在ArcGIS for Server中通过admin rest api将证书导入到机器中,然后编辑机器资源,指定该机器使用该证书。具体可参考相关的admin api帮助。

  此处我遇到的错误是通过第二个办法解决的。补充:如果你和我一样,6443使用的证书的颁发对象与当前机器名不同,建议使用admin rest api,重新生成一个颁发对象与当前机器名相同的自签名证书,之后再将其导入机器的受信区域。

Portal for ArcGIS迁移

  针对目前的1.6.2.1版本。
  Portal for ArcGIS产品的目录结构如下:

portal
–mysql-5.5.9-winx64
–…
arcgisportal
–content
–db
–index
–logs
–portal-config.properties

  portal文件夹下存储Portal for ArcGIS所要用到的若干应用,包括对账户,组,权限等关系进行存储的mysql程序;arcgisportal文件夹下存储相关的数据文件,content里存储所有用户上传的item信息,db目录即是mysql内数据库文件的物理存储路径,index和logs文件内容如其名。portal-config.properties文件存储了Portal for ArcGIS产品的配置信息。
  如果部署了Portal产品,并在其中建立了账户,组,上传了项目,这时想要将这些内容迁移到另一台机器的Portal中去,只需要停止Portal相应的服务,拷贝arcgisportal文件夹下的content,db,index三个文件夹并覆盖新Portal中的同名目录即可。如果不想停止Portal服务的话只要用mysql的工具备份/还原其中的geowarehouse这一个数据库即可。
  ps:portalmysql-5.5.9-winx64data目录下的文件夹可以忽略或删除,因为从my.ini文件可以看到物理存储位置是在arcgisportaldb文件夹下;
  pps:Portal for ArcGIS产品用于搭建GIS资源门户网站,与云环境配合可为企事业单位节约大量成本。目前安装非常简单,只需install和portal start两个命令即可,10秒之内搞定。具体功能可参考ArcGIS.comGISDay