我正在尝试通过反向代理访问OrientDB的REST API。也就是说,我有一个域orientdb.mydomain.com,它转发到服务器所在的localhost:2480。我在不安全的网站上工作,所以我可以访问http://orientdb.mydomain.com,它会打开演播室网站:
http://orientdb.mydomain.com/studio/index.html
但是,这不能通过https实现。我得到一个404错误(“请求的URL /studio/index.html在这个服务器上找不到”)
我有一种感觉,我没有使用正确的文档根目录,或者OrientDB有一些有趣的地方,它以另一种方式生成了上面的路径。实际上我在任何地方都找不到这个/studio目录。
这来自我的ssl.conf文件中的虚拟主机设置。
<VirtualHost _default_:443>
DocumentRoot "/opt/orientdb-3.0.6/www"
<Directory "/opt/orientdb-3.0.6/www">
Require all granted
</Directory>
ServerName orientdb.mydomain.com
#more stuff
</VirtualHost>顺便说一句,我最初在Directory标记中有以下选项,但它给出了一个禁止的错误。我将其更改为要求所有授权,现在它显示为未找到-所以我认为我正在取得进展。
AllowOverride All
Order allow,deny 总而言之,可以通过这种方式访问OrientDB服务器吗?如果可以,我应该放什么作为DocumentRoot,等等?
发布于 2019-02-22 09:18:53
事实证明,这不是一个OrientDB问题,而是一个代理问题。我使用虚拟主机在端口80上设置了代理,但没有对端口443执行相同的操作。在将这些设置添加到我在orientdb.mydomain.com上的443虚拟主机上之后,我能够通过HTTPS访问工作室和HTTP REST API。
ProxyPass / http://127.0.0.1:2480/
ProxyPassReverse / http://127.0.0.1:2480/
<Proxy *>
Require all granted
</Proxy>发布于 2019-02-17 21:50:13
我不认为你能做到。OrientDB嵌入了自己的超文本传输协议服务器,因此它工作的唯一方式是使用反向代理配置。
您可以在https中暴露您的web服务器(我猜是apache HTTP ),并在那里终止"s“,代理到orientdb HTTP端口(2480)。
https://stackoverflow.com/questions/54715744
复制相似问题