我正在为ArangoDB构建CRUD接口作为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协议,它不会连接。所以如果有普通的ip:端口,我的ArangoDB客户端就没有了。我只是得到java.net.ConnectException: Connection refused
例外。
答案 0 :(得分:2)
我不相信你可以这样做,因为服务需要绑定到IP地址。通常,在处理动态IP地址时,您的ISP正在更改IP,但在内部您可以静态配置IP地址。绑定到内部静态IP并将路由器配置为端口转发到该内部IP地址。许多路由器通过各种提供商支持动态DNS,这些提供商将域映射到您不断变化的IP地址。我希望有所帮助。
更新:设置HTTPS应该非常容易,只需按照此处的文档进行操作:https://docs.arangodb.com/3.2/Manual/Administration/Configuration/SSL.html