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

服务器安全和通过Rest访问OrientDB,orientdb,Orientdb,我猜这是一个令人尴尬的初学者问题,无论如何 在OrientDB文档中的“服务器安全”下,我们发现: 虽然OrientDB服务器可以用作常规Web服务器,但不建议您将其直接暴露于Internet或公共网络。相反,始终在专用网络中隐藏OrientDB服务器 这是否意味着OrientDB用于侦听HTTP连接的端口2480应该只在本地打开,而不向外界公开?OrientDB HTTP API文档说明,您必须使用HTTP基本身份验证来发出命令。这意味着您必须在请求中包含授权标头 以下是一些可能有用的链接,其

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

在OrientDB文档中的“服务器安全”下,我们发现:

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


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

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

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


OrientDB v2.2非常注重安全性,tt在这方面向前迈出了一步(加密密码、静态加密(存储中的DES/AES)、禁止访问USER、服务器控制台上的密码掩码以及服务器中的加密密码)。

您可以使用反向代理在公共web上“隐藏”OrientDB服务器。我在一台AWS AMI Linux机器上。我使用httpd在/etc/httpd/conf.d中创建了一个名为virtualhosts.conf的文件。如何设置虚拟主机可能取决于您的linux风格。virtualhosts.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>

LoadModule proxy\u modules/mod\u proxy.so
LoadModule proxy\u http\u module modules/mod\u proxy\u http.so
ServerName orientdb.mydomain.com
DocumentRoot$ORIENTDBHOME$/www
代理请求关闭
ProxyPass/http://127.0.0.1:2480/
ProxyPassReverse/http://127.0.0.1:2480/
服务器名www.mydomain.com
DocumentRoot/var/www
用OrientDB安装的路径替换$ORIENTDBHOME$。因此,我的子域orientdb(orientdb.mydomain.com)转发到端口2480处的orientdb服务器,但浏览器维护orientdb.mydomain.com URL。我遵循了说明,但也为我的主域添加了virtualhost

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


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

这应该完全如您所说的感谢澄清,Alessandro。我的想法是,应该可以通过互联网访问RESTAPI。但是当然可以通过Node/Express提供api,例如内部连接到数据库的api。我也想知道这一点,但我不知道如何在web服务器上本地打开HTTP连接。我是否必须制作第二个Rest API来与本地主机通信?