解析服务器 - 无法访问图像

时间:2017-05-01 21:44:08

标签: mongodb digital-ocean parse-server parse-dashboard

我在MongoDB上运行了一个Parse Server,并且在我的Dev Server上运行100%正常,它在DigitalOcean上托管。在这里,我能够向我的服务器发送GET个请求以获取图像,并通过它的Parse-Dashboard访问图像。

我克隆了这个Droplet来设置一个Production Server,一切运行正常... 除了,我无法访问从Dev服务器克隆的Parse图像,或者是在我初始化新的Production服务器后上传的。我能够发送GET个请求以获取除图像文件之外的所有其他字段。我也无法通过Parse-Dashboard访问图像文件 - 它会在以下网址上返回404 - Oh no, we can't find that page!错误:http://server.ip/parse/files/ProdServer/de632aeb61f7265926e554fabfb25180_image1.png

需要注意的其他重要事项:

  1. 开发服务器托管在具有SSL的域上; 可能是SSL问题吗?
  2. 我正在使用--allowInsecureHTTP标志
  3. 初始化解析仪表板
  4. 所有内容(甚至在SSL之前)都预先在Dev Server上工作
  5. 所有包+依赖项都是最新的
  6. TL;博士

    如何通过Parse-Dashboard或GET请求从我的Parse Server访问图像文件?

1 个答案:

答案 0 :(得分:5)

我尝试了几种方法......由于这对我来说是一个复杂的过程,请允许我记录我尝试解决此问题的方法:

第一个问题是,文件存在吗?如果是这样,它们存储在哪里?

通过访问端口4040上的解析仪表板,我尝试通过URL查看图像路径...所以我知道它存在于某个地方,我递归搜索整个服务器的文件路径,但无济于事。

然后通过更多研究我发现任何超过16MB的文件都会转换为GridFS对象,即图像存储在我的MongoDB中。如何访问这些对象是通过名为mongofiles的实用程序。

通过运行mongofiles -d dbname list,我能够在列表视图中查看存储在Parse-Server上的所有图像。

只是为了确保图像没有损坏......

我还将图像扫描到我的本地机器中,幸运的是我可以查看它们。所以问题是图像没有得到正确的服务......

下一个问题是,为什么图片没有正确投放?

所以我的解析仪表板正在端口4040上提供,但出于某种原因,我们各自URL中的图像文件路径都以相同的端口4040开头......事实证明,在我的Parse-Server配置中,解析服务器URL指向端口4040,但是在****上提供服务。通过将我的URL更改回****,我的图像能够在我的解析仪表板上正确呈现,并且我还能够发送图像的http请求:)

tl; dr 确保您的图像文件路径在提供解析服务器的同一端口上提供