服务器安全和通过 Rest 访问 OrientDB



猜猜这是一个尴尬的初学者问题,无论如何...

在 OrientDB 文档的"服务器安全性"下,我们发现:

虽然 OrientDB 服务器可以作为常规 Web 服务器运行,但不建议您将其直接暴露给互联网或公共网络。相反,请始终将 OrientDB 服务器隐藏在专用网络中。

这是否意味着 OrientDB 用于侦听 HTTP 连接的端口 2480 应该只在本地打开,而不向外界公开?

OrientDB HTTP API 文档指出,您必须使用 HTTP Basic 身份验证来发出命令。这意味着您必须在请求中包含授权标头。

以下是一些可能有用的链接,其中讨论了安全问题:

安全问题

安全性在静态 API

OrientDB v2.2非常注重安全性,tt在这个方向上向前迈出了一步(SALTed密码,静态加密(存储上的DES/AES),禁用对OUSer的访问,服务器控制台上的密码掩码和服务器中的盐渍密码)。

您可以使用反向代理从公共 Web 中"隐藏"您的 OrientDB 服务器。我在 AWS AMI Linux 机器上。使用 httpd,我在/etc/httpd/conf.d 中创建了一个名为 virtualhosts.conf 的文件。如何设置虚拟主机可能取决于您的 Linux 风格。虚拟主机.conf的内容:

<VirtualHost *:80>
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    ServerName orientdb.mydomain.com
    DocumentRoot $ORIENTDBHOME$/www 
    ProxyRequests Off
    ProxyPass / http://127.0.0.1:2480/
    ProxyPassReverse / http://127.0.0.1:2480/
</VirtualHost>
<VirtualHost *:80>
    ServerName www.mydomain.com
    DocumentRoot /var/www
</VirtualHost>

将 $ORIENTDBHOME$ 替换为 OrientDB 安装的路径。所以我的子域 orientdb (orientdb.mydomain.com) 转发到 OrientDB 服务器端口 2480,但浏览器维护 orientdb.mydomain.com URL。我按照这里的说明进行操作,但也为我的主域添加了一个虚拟主机。

更新:如果您的子域具有SSL证书并将其设置为虚拟主机,请在ssl.conf文件中执行相同的代理设置。(将上述虚拟主机的最后三行复制/粘贴到虚拟主机以进行SSL)。

更新 2:您可能甚至不想向公众公开 *:80,但它是为了演示而显示的。您可能也可以转发到 https,但您必须继续寻找该解决方案。

最新更新