x射线:x射线数据库同步无法启动

拉苏尔Imanov
2023-01-22 11:06

Xray数据库同步用于定期自动同步问题和漏洞,每天一次。初始化数据库同步可能需要一些时间才能完成,但在某些情况下,进度条不会移动,您将面临如下错误

用户添加图片

您可能会在x射线日志中看到类似于下面图片片段的内容
用户添加图片

这通常是由于许可证过期或代理设置阻止了某些url。我们可能需要通过cURL刷新许可证,或者可能有一个旧的试用许可证卡在你的x射线数据库,我们需要摆脱,或者我们可能需要白名单一些url。让我们回顾一下解决这个问题的不同方法。

方法一:使用Proxy/Firewall时,将url加入白名单

如果您使用的是防火墙,为了让数据库同步成功完成,您需要将以下url添加到防火墙的白名单中:

  1. https://releases.jfrog.io/
  2. https://releases-cdn.jfrog.io/
  3. https://dl.bintray.com/
  4. https://akamai.bintray.com/
  5. https://jxray.jfrog.io/

要测试同步能力,从x射线主机运行以下REST API端点:https://jxray.jfrog.io/api/v1/system/ping

方法二:从Xray DB中删除缓存的license

导航到您的x射线实例并执行以下命令:

  • Sudo -u postgres PSQL -d xraydb
  • select encode("config"::bytea, 'escape') from config_id = 'xrayConfig';

这将产生一个JSON,在这个输出中,如果您在“license_config”标记中找到一个试用许可证,那么我们就可以运行了

  • DELETE FROM config_id='xrayConfig';

重新启动Xray并再次尝试DB同步。

方法三:刷新License

为了刷新我们的x射线许可证,我们可以运行下面的REST API curl命令curl -XPOST -v -uadmin http:///xray/ui/binMgr/refreshLicense/
我们应该得到200OK HTTP状态码,以确认许可证已经刷新。
重新启动Xray并再次尝试DB同步。