Skip To Content

常见问题及解决方案

以下为您在使用 ArcGIS Enterprise 门户时可能遇到的问题以及可能的解决方案。 如果未能找到您的特定问题,也可以访问 Esri 技术支持中心网站以搜索相关文章。

安装

正在升级

管理

备份

发布

安装

在安装用户的文件句柄限制少于 65,535 的情况下,为什么安装程序阻止安装 Portal for ArcGIS

为使门户能够正常运行,安装用户需要将文件句柄限制设置为 65535。 安装诊断工具将检查这些限制在 /etc/security/limits.conf 文件中是否设置正确。 如果限制设置错误,则诊断检查将失败。

Linux 上有文件句柄的软限制和硬限制。 要确定这些限制,请使用以下命令:

  • 软限制:ulimit -Sn
  • 硬限制:ulimit -Hn

要增加软限制和硬限制,您需要使用超级用户访问权限编辑 /etc/security/limits.conf 文件。 例如,可在该文件中添加两个行,如下所示:

<Portal for ArcGIS installation user> soft nofile 65535

<Portal for ArcGIS installation user> hard nofile 65535

做出此更改后,请登出并以特定用户信息重新登录,以便新值生效。 要验证限制是否已正确修改,可以使用上述 ulimit -Snulimit -Hn 命令。

正在升级

升级之后,门户网站无法正确显示、显示错误消息或无法登录。 这是什么原因?

清除您的浏览器缓存(包括 cookie)。 这些错误通常是由于浏览器中存在先前版本网站的缓存信息所导致的。 如果仍无法登录,请确认您使用的是初始管理员帐户或具有门户管理权限的帐户。

升级之后,没有显示我的门户中的所有项目、群组和用户。 应该怎么办?

安装软件并指定初始管理员帐户后,您必须为门户重新构建索引。 完成此步骤后,门户即升级完毕。 最初可能无法显示所有项目、群组以及用户,这是因为索引重新构建尚未完成。 完成索引的重新构建可能会花费一些时间,具体取决于门户中的用户数量和内容体积。 例如,在含有 8 个内核的计算机上运行 Portal for ArcGIS 的小型组织(包含数百个用户及内容项目)可能需要花费 15 分钟来重新构建索引。 而在含有 8 个内核的计算机上运行 Portal for ArcGIS 的大型组织(包含数万个用户及内容项目)可能需要花费超过 3 个小时来重新构建索引。

通过以下步骤可检查重新构建索引的状态。 当存储索引计数相等时,即完成索引的重新构建以及升级。

  1. 打开 ArcGIS Portal Directory,并以初始管理员帐户进行登录。 URL 地址格式为 https://portal.domain.com:7443/arcgis/portaladmin
  2. 单击 System > Indexer > Index Status
  3. 刷新页面获取最新状态。

我在安装 10.9 后访问门户网站时,看到一则通知,指示门户中分配的许可数量超过可用许可数量。 如何解决这一问题?

Portal for ArcGIS 10.7 及更高版本中,将强制执行用户类型许可。 您可分配许可的用户数量不得超过门户的许可范围。 此通知显示您分配的加载项许可或用户类型是否超过可用范围。 如果为用户分配的许可超过可用许可数量,则该用户可能无法访问门户。 要解决此问题,请转至许可选项卡并重新分配处于透支状态的许可。 或者,要向门户添加许可,需要获取新的门户许可文件。 有关在门户中分配许可的详细信息,请参阅管理许可

升级后,将为组织中的成员分配 Standard (Temporary) 或 Lite (Temporary) 用户类型。 这些是什么?我应如何为成员分配正确的用户类型?

Portal for ArcGIS 10.7 及更高版本中,将强制执行用户类型许可。 进行升级时,将为现有成员分配用户类型。 如果许可文件中只有一个兼容的用户类型,则将为您的成员分配该用户类型。 但是,在以下几种情形下,将在升级期间分配临时用户类型,并且您必须在升级完成后手动为成员分配用户类型。 以下是几个常见升级情形的示例:

  • 您的组织具有指定用户或 2 级成员,而新的许可文件只有一个兼容的用户类型(例如,Creator)。 将为所有指定用户或 2 级成员分配 Creator 用户类型。 不会分配临时用户类型。
  • 您的组织具有指定用户或 2 级成员,而新的许可文件有多个兼容的用户类型(例如,CreatorGIS Professional)。 将为所有指定用户或 2 级成员分配 Standard (Temporary) 用户类型。 已分配 Standard (Temporary) 用户类型的成员在您分配有效的用户类型许可之前将无法访问门户。
  • 您的组织具有 1 级用户,并且新的许可文件不包含任何兼容的用户类型(例如,Viewer)。 则将为这些成员分配 Lite (Temporary) 用户类型。 已分配 Lite (Temporary) 用户类型的成员在您分配有效的用户类型许可之前将无法访问门户。 要将 Viewer 许可添加到门户,则需要获取新的门户许可文件

升级门户并尝试创建初始管理员帐户时,收到消息创建初始管理员帐户时出错。 如何解决这一问题以完成升级?

门户日志中的信息可以帮助您解决此问题。 如果创建帐户时网络连接暂时丢失,则会发生此错误。 要访问日志,请浏览至日志目录并打开最近的日志文件(例如,<Portal for ArcGIS installation directory>/arcgisportal/logs/<machine name>/portal/portal-20141201.095803-8596-0.0.log)。 如有必要,美国境内用户可以联系 Esri 支持,国际用户可以联系其分销商以获取更多帮助。

升级门户后,当我在门户网站中打开组织 > 设置 > ArcGIS Online 以更新订阅者和高级 ArcGIS Living Atlas of the World 内容时,我看到一条错误消息,指示凭据无效或 ArcGIS Online 无法访问。 出现了什么问题,我应如何解决这些问题?

门户必须验证您的 ArcGIS Online 凭据,才能更新订阅者和高级 ArcGIS Living Atlas 内容。 否则,将在门户网站和托管服务器的日志中返回以下消息之一:

  • 用于访问订阅者和/或高级 Living Atlas 内容的凭据无效。 升级 Living Atlas 内容前,请使用有效 ArcGIS Online 组织帐户凭据更新凭据。- ArcGIS Enterprise 已连接到 ArcGIS Online 组织,并已确定您的现有凭据无效。 确保您的 ArcGIS Online 帐户密码未更改并且该帐户仍有可用配额(适用于高级内容)。

    如果密码已更改,或者您需要提供一个新帐户从 ArcGIS Online 访问订阅者和高级 ArcGIS Living Atlas 内容,则需要更新凭据。 如果您已更新凭据作为升级 Portal for ArcGIS 的一部分,请单击升级内容以完成 ArcGIS Living Atlas 内容升级。

  • 无法从此门户访问 ArcGIS Online。 升级 Living Atlas 内容前,请检查您的防火墙设置或门户代理设置。- ArcGIS Enterprise 无法连接到与您的凭据相关联的 ArcGIS Online 帐户。 在大多数情况下,这是由于您的网络上存在阻止与 ArcGIS Online 进行通信的问题。
  • 无法验证用于访问订阅者和/或高级 Living Atlas 内容的凭据,因此,您无法更新内容。 请联系 Esri 技术支持或您的国际分销商。- 在极少数情况下,Portal for ArcGIS 升级过程中出现的问题可能会阻止您升级 ArcGIS Living Atlas 内容。 如果您看到此消息,请联系 Esri 技术支持(美国境内)或您的国际 Esri 分销商(美国境外)以识别并解决该问题。

管理

如何配置 Portal for ArcGIS 才能使其实现高可用性?

Portal for ArcGIS 在高度可用的环境中,是可配置并且受支持的。 有关详细信息,请参阅配置高可用性门户

初始管理员帐户的用途是什么? 能否将其降级或删除?

安装 Portal for ArcGIS 并进行配置后,您即可访问门户网站。 此时,您需要提供最初用于登录网站和管理门户的新帐户的用户名、密码、电子邮件以及身份验证问题和答案。 此帐户称为初始管理员帐户。

初始管理员帐户用户名和密码存储在 Portal for ArcGIS。 初始管理员帐户不是操作系统帐户,且与 Portal for ArcGIS 帐户没有任何关联。 此后,您可以指定其他帐户作为管理员、降级初始管理员至权限较低的角色,或者删除初始管理员帐户

在联合服务器与门户之后,如何连接到 ArcGIS Server

在联合 ArcGIS Server 与门户后,门户的安全性存储可控制对服务器的所有访问。 之前用于 ArcGIS Server 的用户和角色对于访问此服务器不再有效;而您可使用门户帐户建立与服务器的所有连接。

唯一的例外情况是 ArcGIS Server 的主站点管理员帐户。 如果通过端口 6080 或 6443 直接连接,您始终可使用此帐户登录 ArcGIS Server Administrator Directory。但在服务器与门户联合时,不能使用此帐户登录 ArcGIS Server Manager。

要了解有关如何在服务器与门户联合时连接到服务器的详细信息,请参阅管理联合服务器

在尝试联合 ArcGIS Server 站点与门户时,添加 Add ArcGIS Server 对话框中将显示下述消息:与服务器进行通信时出错。 请检查 URL 和凭据,然后重试。

遇到此错误可能有以下几个原因:

  • ArcGIS Server 站点输入的服务器 URL管理员 URL 值不正确或无法访问。 请确认以下内容:
    • 如果 ArcGIS Server 站点包含 ArcGIS Web Adaptor,则服务器 URL 的值是 Web Adaptor 地址,例如,http://webadaptorhost.domain.com/webadaptorname。 如果不存在 Web Adaptor,则服务器 URL 值与管理员 URL 相同,例如 http://gisserver.domain.com:6080/arcgis
    • 如果您的组织要求将 HTTPS 用于所有通信,则在 URL 中使用 https
    • URL 包括计算机的完全限定域名 (FQDN)。 FQDN 为必填内容。
    • ArcGIS Server 站点的通信协议已更新为使用 HTTP 和 HTTPS仅 HTTPS
    • 此通信协议与门户的通信协议相匹配。 例如,如果要求门户中的所有通信都使用 HTTPS,则 ArcGIS Server 也应配置为仅使用 HTTPS。 反之,如果门户网站不要求使用 HTTPS,则服务器通信协议应为 HTTP 和 HTTPS。
    • 如果 ArcGIS Server 站点包括 ArcGIS Web Adaptor,则在更新站点的通信协议之后,必须通过 ArcGIS Server 重新配置 ArcGIS Web Adaptor
    • 防火墙允许在 ArcGIS Server 和门户之间进行通信。 有关要打开的特定端口的信息,请参阅 ArcGIS Server 使用的端口Portal for ArcGIS 使用的端口
    • ArcGIS Server 站点上禁用 等 Web 层身份验证,而启用匿名访问。 虽然这听起来可能有悖常理,但是必须如此站点才能自由与门户联合并读取门户中的用户和角色。
  • 您输入的用户名密码不正确:
    • 对于用户名,输入用于初始登录到 ArcGIS Server Manager 和管理服务器的主站点管理员帐户的名称。 如果该帐户不可用,您必须重新启用它。 不能使用其他帐户。
    • 对于密码,提供主站点管理员帐户的密码。

有关详细信息,请参阅联合 ArcGIS Server 站点与门户

能否重命名已安装 Portal for ArcGIS 的计算机?

不能,当前不支持此操作。 如果您重命名计算机,则门户将不可用。

当我试图在 Internet Explorer 中打开门户网站时,网站无法加载或返回一条消息,提示网站无法显示。

请确保门户网站 URL 中的主机名称被列为 Internet Explorer 中的受信站点。 要将门户的 URL 添加为 Internet Explorer 的受信站点,请打开 Internet 选项。 在安全性选项卡上添加受信站点。

如何使用组织的反向代理服务器配置 Portal for ArcGIS

要用反向代理服务器配置 Portal for ArcGIS,您需要向门户提供有关代理服务器的一些信息。 有关完整说明,请参阅在门户中使用反向代理服务器

我可以将一个 ArcGIS Web Adaptor 配置为同时与 ArcGIS ServerPortal for ArcGIS 一起使用吗?

不可以。您不能将同一 ArcGIS Web Adaptor 安装配置为与二者一起使用。 可将 ArcGIS Web Adaptor 配置为仅与 ArcGIS ServerPortal for ArcGIS 一起使用。

如果我的门户使用企业群组,门户的身份存储更新能否立即作为一个新的登录名添加到我的 LDAP 服务器?

不可以。如果门户和企业群组中已存在的企业帐户链接到一个门户群组,则当新会员登录门户时将刷新身份存储,或者下一次自动刷新门户身份存储,以先发生者为准。 默认情况下,身份存储在每一天午夜更新。 门户管理员可通过使用门户管理 API 中的 Update Identity Store 操作改变 membershipRefreshIntervalHoursmembershipRefreshStartTime 参数的值,来更改身份存储刷新的频率和时间。

如果企业帐户不是门户的成员,则将登录帐户添加至链接到门户群组的企业群组时,不会自动将帐户添加到您的门户。 作为管理者,您不希望每个添加到 LDAP 服务器的登录帐户都自动添加到您的门户。

如果我的门户使用企业群组,新的企业群组会在我将它们添加到我的 LDAP 服务器时自动添加到我的门户吗?

否。 门户管理员可以手动配置门户中的群组以使用企业群组。 当管理员配置门户群组时,任何现有的门户企业帐户都将自动成为门户群组的成员。

如果您使用 LDAP 服务器中的企业群组,则仅将群组中指定的登录帐户添加到门户群组;不会添加嵌套群组的成员。 例如,如果您指定一个顶级企业群组,则仅作为现有门户成员的登录帐户会添加到门户群组;嵌套群组中的登录帐户不包括在内。 或者,您也可以指定一个嵌套群组。 在这种情况下,仅嵌套群组中作为现有门户成员的登录帐户会添加到门户群组。

如果我的门户使用企业帐户和群组,从我的 LDAP 服务器中删除用户时会发生什么?

如果门户中存在删除的企业用户,则下次身份存储刷新时将从所有门户企业群组中移除该成员(默认情况下在每天午夜进行)。 然而,该成员并未从门户身份存储中移除。 由于相应的企业帐户不再存在,该成员无法登录到门户,但门户管理员必须手动重新分配该成员拥有的所有项目或群组并删除帐户,才能释放门户许可。

如果我的门户使用企业群组,当一个企业群组被重命名或从我的 LDAP 服务器中删除时,相应门户会发生什么?

如果企业群组链接到门户群组,将在下一次门户身份存储刷新时(每个成员登录时或在计划的身份存储更新时间)从群组中删除成员。 移除成员后,只有群组所有者或门户管理员可以访问该群组。 门户管理员或群组所有者可以删除群组,或者由门户管理员将门户群组重新分配到另一个企业群组。

我的门户使用 SAML 身份提供者,且我已禁用可供成员使用各自的内置 ArcGIS 帐户登录的选项。 如何重新启用此选项?

如果您需要再次通过内置帐户提供对门户的访问权限,则无论是因为您使用 SAML 身份提供者时遇到问题还是使用成员帐户时遇到问题,您都可以按照以下步骤操作。

  1. 创建一个名为 enableArcgisLogins.py 的文件并在 Portal for ArcGIS 中将其放在以下位置:/portal/tools/security/
  2. 将以下代码复制到该文件中。
    from urllib.request import Request, urlopen, URLError
    from urllib.parse import urlencode
    import json, ssl, os, socket, sys
    import datetime, getpass
    
    # Defines the entry point into the script
    def main(argv):
    
        currentHost = socket.getfqdn().lower()
        portalHost = ''
        adminUsername = ''
        adminPassword = ''
        token = ''
    
        # Prompt for server hostname 
        portalHost = input('Enter Portal for ArcGIS hostname [{}]: '.format(currentHost))
        if portalHost == '':
            portalHost = currentHost
        portalHost = checkHost(portalHost)
    
        # Prompt for admin username
        adminUsername = input('Enter administrator username: ')
        while adminUsername == '':
            adminUsername = input('Administrator username is required. Enter administrator username: ')
    
        # Prompt for admin password 
        adminPassword = getpass.getpass(prompt='Enter administrator password: ')
        while adminPassword == '':
            adminPassword = getpass.getpass(prompt='Administrator password is required. Enter administrator password: ')
            
    
        try:
            _create_unverified_https_context = ssl._create_unverified_context
        except AttributeError:
            # Legacy Python that doesn't verify HTTPS certificates by default
            pass
        else:
            ssl._create_default_https_context = _create_unverified_https_context
    
        portalUrl = 'https://' + portalHost + ':7443/arcgis'
    
        if token == '':
            token,portalUrl = generateToken(adminUsername,adminPassword,portalHost,portalUrl)
        portalVer = checkToken(portalUrl,token)
        enableCanSignInArcGIS(portalUrl,token)
    
    
    
     
    # Function to check hostname resolution and confirm Portal is running
    def checkHost(hostname):
        try:
            socket.getaddrinfo(hostname, None)
        except:
            print('Unable to resolve hostname - {}'.format(hostname))
            sys.exit(1)
        if '.' not in hostname:
            hostname = socket.getfqdn(hostname)
        if not isOpen(hostname, 7443):
            print('Unable to access Portal for ArcGIS on {} over port 7443'.format(hostname))
            sys.exit(1)
        return hostname
    
    # Enable canSignInArcGIS property
    def enableCanSignInArcGIS(portalUrl,token):
    
        params = {'referer':'canSignInArcGIS',
                  'f':'json'}
    
        try:
            request = Request(portalUrl + '/sharing/rest/portals/self')
            request.add_header('X-Esri-Authorization', 'Bearer ' + token)
            response = urlopen(request, urlencode(params).encode())
            portalSelf = json.loads(toString(response.read()))
            if 'error' in portalSelf:
                print('Error checking Portal properties\n{}'.format(portalSelf.get('error')))
            else:
                try:
                    if portalSelf["canSignInArcGIS"]:
                        print('\nError: ArcGIS logins are already enabled.')
                    else:
                        print('\nEnabling ArcGIS logins...')
                        request = Request(portalUrl + '/sharing/rest/portals/0123456789ABCDEF/update')
                        request.add_header('X-Esri-Authorization', 'Bearer ' + token)
                        params = {'referer':'canSignInArcGIS',
                                'f':'json',
                                'canSigninArcGIS':'true'}
                        response = urlopen(request, urlencode(params).encode())
    
                        request = Request(portalUrl + '/sharing/rest/portals/self')
                        request.add_header('X-Esri-Authorization', 'Bearer ' + token)
                        response = urlopen(request, urlencode(params).encode())
                        portalSelf = json.loads(toString(response.read()))
                        if 'canSignInArcGIS' in portalSelf:
                            if portalSelf.get('canSignInArcGIS'):
                                print('Success: ArcGIS logins have been enabled.')
                            else:
                                print('Error: Could not enable ArcGIS logins.')
                except KeyError:
                    print('\nError: Could not find key \'canSignInArcGIS.\' in response')
    
        except Exception as e:
            print('Error checking Portal properties\n{}'.format(e))
    
    
    
    # Function to generate token
    def generateToken(username,password,portalHost,portalUrl):
        tokenUrl = portalUrl + '/sharing/rest/generateToken'
        params = {'username':username,
                  'password':password,
                  'referer':'canSignInArcGIS',
                  'f':'json'}
        try:
            request = Request(tokenUrl, urlencode(params).encode())
            response = urlopen(request)
            if response.url != tokenUrl:
                portalUrl = 'https://' + response.url.lower().split('/')[2] + '/arcgis'
                testSSL(portalUrl + '/sharing/rest/?f=json')
                tokenUrl = portalUrl + '/sharing/rest/generateToken'
                request = Request(tokenUrl, urlencode(params).encode())
                response = urlopen(request)
            genToken = json.loads(toString(response.read()))
            if 'token' in genToken.keys():
                return genToken['token'], portalUrl
            else:
                print('\nInvalid administrator username or password\n{}'.format(genToken))
                sys.exit(1)
        except Exception as e:
            print('Unable to access Portal for ArcGIS on {}:7443\n{}'.format(portalHost, e))
            sys.exit(1)
    
    # Function to check the portal token and return the portal version if valid
    def checkToken(portalUrl,token):
        try:
            request = Request(portalUrl + '/portaladmin/?token=' + token + '&f=json')
            request.add_header('Referer', 'canSignInArcGIS')
            response = urlopen(request)
            adminInfo = json.loads(toString(response.read()))
            try:
                return adminInfo['version']
            except KeyError:    
                print('\nThe user or token provided does not have administrative privileges\n{}'.format(adminInfo))
                sys.exit(1)
        except Exception as e:
            print('\nError validating token\n{}'.format(e))
            sys.exit(1)
    
    
    def toString(data):
        try:
            return data.decode('utf-8')
        except:
            return data
    
    def isOpen(ip, port):
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        try:
            s.settimeout(2)
            s.connect((ip, int(port)))
            s.close()
            return True
        except:
            return False
    
    # Script start
    if __name__ == "__main__":
        try:
            main(sys.argv[1:])
        except:
            sys.exit(1)
  3. 保存并关闭文件。
  4. 创建一个 shell 脚本并将其放置在 enableArcgisLogins.py 存在的同一目录中。
  5. 将以下代码复制到该脚本文件中。
    #!/bin/bash
    
    cwd=`dirname $0`
    curdir=`cd $cwd && pwd`
    
    python_bin="$curdir/../../framework/runtime/python/bin/python3.6"
    python_lib="$curdir/../../framework/runtime/python/lib"
    export LD_LIBRARY_PATH=$python_lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH:-}
    
    "$python_bin" "./enableArcgisLogins.py"
  6. 保存并关闭文件。
  7. 运行该 shell 脚本以重新启用使成员使用内置 ArcGIS 帐户进行登录的选项。

然后,访问登录页面的成员即可看到使用身份提供者帐户登录门户的按钮以及使用 ArcGIS 帐户按钮。

在将门户的安全配置从 LDAP 切换到 SAML 后,将在每天夜间将所有 SAML 用户从其基于 SAML 的企业级群组中移除。 发生了什么?

将门户的安全配置切换到 SAML 时,您必须重启 Portal for ArcGIS 以完全清除 LDAP 的先前设置。 将 Portal for ArcGIS 配置为使用 LDAP 中的用户和群组时,将在夜间自动清除和更新每个用户的群组成员资格。 当使用基于 SAML 的群组成员资格时,则不需要进行此群组成员资格刷新。 如果在配置 SAML 时运行了群组成员资格刷新,则 SAML 用户将在每次调用群组刷新时失去群组成员资格。

在 web 浏览器中加载 Map Viewer 需要很长时间。

如果您的门户使用反向代理服务器或负载均衡器来处理 Internet 请求,请验证反向代理服务器或负载均衡器是否支持 gzip 编码,以及是否配置为允许“接受编码”标头。 此标头允许通过 gzip 编码压缩 HTTP 1.1 响应。 例如,如果允许此标头,则加载 Map Viewer 的请求将向浏览器返回一个大小约为 1.4 MB 的压缩响应。 如果不允许此标头或忽略此标头,则请求将向浏览器返回一个未经压缩的响应,其大小约为 6.8 MB。 如果网络速度很慢,那么在不压缩响应的情况下加载Map Viewer可能需要很长时间。 建议您允许此标头作为反向代理服务器配置的一部分。

新建 web 地图的缩略图未生成或者无法正确显示。

如果您的 web 地图包含使用 HTTPS 的 ArcGIS Server 服务,则可能会遇到此类问题。 如果是这种情况,请检查门户是否配置了 ArcGIS Server 站点的打印实用程序服务。 运行打印服务的计算机可能不信任提供 HTTPS 服务的 ArcGIS Server 站点中的证书颁发机构 (CA) 签名证书。 需要在操作系统级别将每台运行打印服务的计算机配置为信任这些 CA 证书。 请参阅使用新 CA 签名证书启用 HTTPS 以获取如何执行此操作的详细信息。

配置新的自定义 SSL 证书后,我的门户无法访问。 如何恢复访问?

如果您错误地配置了 SSL 证书,并且无法登录到门户,请执行以下步骤来恢复访问。

  1. 停止 Portal for ArcGIS
  2. 备份 \ArcGIS\Portal\framework\runtime\tomcat\conf\server.xml 文件。
  3. 在文本编辑器中打开 ArcGIS\Portal\framework\runtime\tomcat\conf\server.xml
  4. 通过搜索 <Connector SSLEnabled="true" 字符串以定位 SSL 连接器。
  5. keyAlias 参数的值更改回默认值 keyAlias="portal",并保存所做更改。
  6. 以具有管理权限的成员身份登录到 ArcGIS Portal Directory
  7. 选择安全性 > SSLCertificates并单击更新。 在下一页,确认更新即可,无需修改任何参数。
  8. 门户将自动重启。

当我在门户网站中打开组织 > 设置 > ArcGIS Online 时,我看到一条错误消息,指示凭据无效或 ArcGIS Online 无法访问。 出现了什么问题,我应如何解决这些问题?

门户要求使用有效 ArcGIS Online 凭据来访问订阅者和高级 ArcGIS Living Atlas。 如果门户无法使用您在启用 ArcGIS Living Atlas 订阅者和高级内容时使用的凭据来访问 ArcGIS Online,则门户网站和托管服务器的日志中将返回以下消息之一:

  • 用于访问订阅者和/或高级 Living Atlas 内容的凭据无效。 请使用有效 ArcGIS Online 组织帐户凭据更新凭据。- ArcGIS Enterprise 已连接到 ArcGIS Online 组织,并已确定您的现有凭据无效。 确保您的 ArcGIS Online 帐户密码未更改并且该帐户仍有可用配额(适用于高级内容)。

    如果密码已更改,或者您需要提供一个新帐户从 ArcGIS Online 访问订阅者和高级 ArcGIS Living Atlas 内容,则需要更新凭据

  • 无法从此门户访问 ArcGIS Online。 请检查您的防火墙设置或门户代理设置。- ArcGIS Enterprise 无法连接到与您的凭据相关联的 ArcGIS Online 帐户。 在大多数情况下,这是由于您的网络上存在阻止与 ArcGIS Online 进行通信的问题。
  • 无法验证用于访问订阅者和/或高级 Living Atlas 内容的凭据,因此,您无法更新内容。 请联系 Esri 技术支持或您的国际分销商。- 已出现一个不常见且无法识别的内部错误。 如果您看到此消息,请联系 Esri 技术支持(美国境内)或您的国际分销商(美国境外)以识别并解决该问题。

备份

门户内容目录大小已增长至几千兆字节。

门户将增量事务日志存储在门户内容目录的子目录中,以便您创建门户的增量备份。 默认位置是 /home/<user>/arcgis/portal/usr/arcgisportal/backup/walarchive)。

当您使用 webgisdr 工具创建 full 备份后,不再强制限制初始大小;但是每次运行该工具时,现有的事务日志都会被移除。 如果子目录大小超过 5GB,则会记录以下消息:

门户的事务日志占用超过 5GB 的磁盘空间。 使用 webgisdr 工具运行完整备份以清除这些日志。

在 10.9 版本中,引入了 backup 模式。 如果已对事务日志禁用 50MB 的限制,则此模式将恢复限制。 如果您的环境不支持用于恢复至辅助数据中心的地理性备援,请将 BACKUP_RESTORE_MODE 设置为 backup 而不是 full

要了解有关 webgisdr 工具的详细信息,请参阅创建 ArcGIS Enterprise 备份

创建门户备份时,为什么会收到关于丢失项目的错误消息?

当门户的内部数据库中仍然存在某个项目但内容目录中不存在该项目时,将发生此错误。 这是项目删除不完整导致的结果。 通常,删除项目时,将从内部数据库以及内容目录中删除项目。 但是,有时项目无法从内部数据库中成功删除。

在这种情况下,创建备份时,将记录警告错误,指示必须手动删除此项目。 记录错误消息提供的一个或多个 itemID 值。 除非该项目为 Esri 所有,否则您可以按照以下步骤删除该项目。

提示:

您也可以与 Esri 技术支持联系以获取有关这些步骤的帮助。

  1. 以管理员身份登录 Portal Sharing API (https://portal.domain.com/webadaptor/sharing/rest)。
  2. 使用 /search 端点来搜索 API 中的项目。 对于“搜索文本”参数,使用日志消息中的 itemID 输入 id:
  3. 在搜索结果中,单击用于标识项目所有者的链接。 随即显示所有者的信息页面。
  4. 相关资源下,单击用户内容
  5. 在日志中单击 itemID。 随即显示一条消息,指示内部服务器错误
  6. /delete 附加到项目端点的 URL。 确认删除操作。
  7. 对日志消息中显示的每个项目重复步骤 2 - 6。

还原大型门户备份失败,并显示令牌错误。

在 Portal Administrator Director 中,当您尝试使用导入站点操作时,将生成一个将在一小时后过期的令牌。 如果还原操作未在一小时内完成,则导入过程将失败。

如果您的备份要花费一个多小时才能恢复,请使用共享 API 生成令牌,并指定比默认值长的到期时间。 使用此令牌来访问 Portal Administrator Directory:

  • 如果在 web 浏览器中使用目录,则需要将新令牌附加到用于“导入站点”操作的 Administrator Directory URL。
  • 如果要通过脚本调用操作,请需要在此 API 调用中包括新令牌。

发布

如果在 ArcMap 中将托管服务发布到 ArcGIS Enterprise 门户时启用“要素访问”或“地图切片”功能,发布者将收到一条安全警告,提示需要验证证书。

如果在发布托管服务时收到验证 ArcMap 中的证书的提示,则可能是由于以下两种原因(之一):

  • ArcGIS Server 使用自签名证书。 默认情况下,服务器会预先配置自签名的证书,这样,可初始测试服务器并帮助您快速验证是否安装成功。 然而,在绝大多数情况下,组织在使用服务器之前需要从受信任的证书颁发机构 (CA) 请求证书并配置服务器。 这可能是由您的组织颁发的域证书或 CA 签名的证书。
  • 在联合 ArcGIS Server 与门户时输入的管理 URL 将使用 HTTP 而非 HTTPS,例如 http://gisserver.domain.com:6443/arcgis。 此外,您可以启用对 ArcGIS Web Adaptor 的管理访问并将 Web Adaptor URL 指定为管理 URL 以帮助解决任何证书提示。

有关详细信息,请参阅安全性最佳做法

当从 ArcGIS Pro 发布一个场景图层时,发布成功,但未能创建场景缓存,同时发布者收到以下消息:错误 001784:无法连接到场景缓存使用的数据库(未经授权)。 执行(管理场景缓存)失败

场景图层在 ArcGIS Data Store 切片缓存数据存储中缓存数据。 ArcGIS Server 场景缓存工具通过 HTTP 与此数据库进行通信,并使用 cookie 进行身份验证。 ArcGIS Server Windows 计算机上设置的 cookie 策略可能会阻止 cookie。 在某些情况下,这是 Windows 操作系统的默认设置。

场景缓存工具首先使用 Internet URL 连接到场景缓存数据库。 这种情况适合使用 Internet 策略。 如果 Internet 连接失败,工具将尝试使用 Intranet URL 进行连接,此种情况适合使用 Intranet 策略。 要验证访问场景缓存数据库时工具所使用的 URL 是否设置正确,请确认 ArcGIS Data Store 主机名称正确,然后更新 ArcGIS Server 计算机上的 cookie 策略。

  1. 打开 Web 浏览器并登录到您的托管 ArcGIS Server 站点的 Administrator Directory。 使用 ArcGIS Server 管理员凭据进行登录。
  2. 转到data > items > nosqlDatabases > /nosqlDatabases/AGSDataStore_nosqldb_<数据库名称> > REST
  3. 记下 hostnameunqHostname 属性。 它们是场景缓存数据库的完全限定域名和非限定域名。 稍后更新 cookie 策略时将用到这两个属性。
  4. 使用 ArcGIS Server 帐户登录到每个 ArcGIS Server 计算机。 此帐户在您安装 ArcGIS Server 时创建,用来运行 ArcGIS Server 进程。
  5. 打开计算机的 Internet 选项。 可通过 Internet Explorer 或您服务器的控制面板访问此选项。
  6. 单击安全标签并执行以下操作之一:
    • 选择本地 Intranet,确定为其设置的安全级别不会阻止 Intranet 站点的 cookie。 如果阻止 cookie,则将安全级别更改为允许来自 Intranet 站点的 cookie。
      注:

      您也可以更改 Internet 选项的安全策略,但是并不建议这样做,因为这将允许您的计算机接受来自 Internet 上所有站点的 cookie。

    • 选择受信站点 > 站点,然后添加场景缓存数据库的完全限定主机名的 URL;例如 datastore.domain.com。 还添加了非限定主机名的 URL 作为一个受信站点,例如,datastore
  7. 单击确定应用更改并关闭 Internet 选项
  8. 重新启动 ArcGIS Server
  9. 对站点中的每台 ArcGIS Server 计算机重复这些步骤。