我曾尝试就这个问题联系技术支持,但距离他们表示会调查这件事已经过去了三周多。也许有人已经(并解决了)类似的问题:
我在尝试使用主机名而不是 IP 地址连接到(客户部署的)许可证服务时遇到问题。如果服务器的 IP 发生更改,这将允许一切继续运行。我生成了客户部署的服务http://HOSTNAME:8081/
并尝试使用此 URL 进行连接。ping license 服务时,返回如下异常:
License not valid for running license server.
ALLOWED: = http://HOSTNAME:8081/ , http://fe80::21d7:f28f:a8b2:6542%10 , http://fe80::2cf3:1cea:3f57:1fd%12 , http://192.168.254.2 , http://2001:0:5ef5:79fd:2cf3:1cea:3f57:1fd ,
REQUESTED: http://[fe80::21d7:f28f:a8b2:6542%10]:8081/Service.asmx/PingLicenseService
通过带有主机名的 URL 联系服务似乎会自动使用(第一个?)IPv6 地址,用方括号括起来(应该如此,否则它无法确定端口号)。但是,允许的 URL 包含没有这些方括号的 IPv6 地址。这是某种错误吗?(端口号似乎也丢失了。)
我尝试在运行时手动从主机名获取 IPv4 地址,但随后我得到:远程服务器返回错误:(400) Bad Request
。
当我尝试自己(在浏览器中)使用 IPv4 或 IPv6 地址浏览服务时,错误扩展为:
HTTP Error 400. The request hostname is invalid.
这也很奇怪,因为它们包含在允许的 URL 中。似乎只有 ServerSettings.xml 中的 URL 有效,我有http://HOSTNAME:8081/
. 当我再次将 ServerSettings.xml 中的地址更改为 IPv4 地址时,我可以使用主机名或 IPv4 地址从软件进行连接。
是否可以防止客户在每次服务器 IP 更改时都必须编辑 ServerSettings.xml?