前不久,一客户反映原来已经部署好的WebGIS系统忽然无法正常运行了,具体配置如下:
Portal for ArcGIS 10.5
ArcGIS Server 10.5
Web Adpator 10.5
Data Store 10.5
表现出现的症状就是托管的要素服务可以正常发布,但是三维服务SceneService发布不成功。查看ArcGIS Server的日志,提示如下错误信息:
Client tried to acces password protected page without proper authorization (status code 401) 这个错误其实是ArcGIS Server底层的ArcObject类库中预定义的错误消息 MESSAGESUPPORT_E_UNAUTHORIZED,可以参考以下链接:
https://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#messageSupportError.htm
初步判断这个错误有可能是DataStore无法认证登录的问题,但通过了Server的REST管理页面验证了一下DataStore,发现状态是正常的。
Server用于验证DataStore的REST URL路径类似如下:
https://www.seanpc.com/ags/admin/data/items/nosqlDatabases/AGSDataStore_nosqldb_tcs_m3p2m8vg/machines/LUWLESRIPC.MSHOME.NET/validate
返回的结果类似如下:
再次推测问题可能和操作系统的文件系统权限有关,询问了一下客户,原来客户在系统出问题之前做了一个重置ArcGIS Server运行账户密码的操作。客户是直接通过Windows的管理页面做账户密码重置操作的。
于是重新设置了ArcGIS Server安装目录以及系统数据目录的权限。
使用C:\Program Files\ArcGIS\Server\bin\ServerConfigurationUtilityUI.exe工具重新设置ArcGIS Server账号信息和目录权限。
重置后,重启ArcGIS Server,再次发布三维服务SceneService,系统恢复正常了。建议客户如果在知道原账户密码的前提下需要重置密码,必须通过Windows的控制面板账户管理来重置密码。假如是通过Windows的管理页面做账户密码重置操作的,需要重新设置相关的ArcGIS Server文件目录账户权限。因为按照微软的说法:
If an administrator resets your password, you might lose access to some of your files.