我正在为 ArangoDB 构建 CRUD 接口(interface)作为 Java 服务。
我的 ArangoDB 服务有动态 IP,但有静态 URL。因此我想指定 URL 而不是 IP 和端口。
但是当我在 arangodb.properties 文件中设置它时,出现以下异常:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.netcracker.unm.activeinventory.services.ArangoService]: Constructor threw exception; nested exception is com.arangodb.ArangoDBException: Could not load property-value arangodb.hosts=127.0.0.1:8538,127.0.0.1:8529,http://arangodb-nms-infra.sdnoshm05.com:443. Expected format ip:port,ip:port,...
我该怎么做?
更新
我发现我必须连接到 https 服务器。我如何在我的 arangodb.properties 文件中指定它?
我尝试使用 unix wget
命令连接到服务器端点。如果我不指定 https 协议(protocol),它不会连接。所以我的 ArangoDB 客户端不会,如果有纯 ip:port。我刚得到 java.net.ConnectException: Connection refused
异常。
最佳答案
我不相信你能做到这一点,因为服务需要绑定(bind)到 IP 地址。通常,在处理动态 IP 地址时,您的 ISP 会更改 IP,但您可以在内部静态配置 IP 地址。绑定(bind)到您的内部静态 IP 并将路由器配置为端口转发到该内部 IP 地址。许多路由器通过各种提供商支持动态 DNS,这些提供商将域映射到您不断变化的 IP 地址。希望对您有所帮助。
更新:设置 HTTPS 应该很容易完成,只需按照此处的文档操作即可:https://docs.arangodb.com/3.2/Manual/Administration/Configuration/SSL.html
关于java - 在属性中将 https 主机指定为 arangodb 主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46491401/