首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在试图上传到Wolkenkit Blob服务器时获取"ECONNREFUSED“错误

在试图上传到Wolkenkit Blob服务器时获取"ECONNREFUSED“错误
EN

Stack Overflow用户
提问于 2018-03-14 08:37:51
回答 1查看 81关注 0票数 2

我目前正在开发一个在本地机器上运行的Wolkenkit应用程序。我想从Wolkenkit应用程序上传一个文件到blob服务器(作为文档这里)。

当从服务器向https://local.wolkenkit.io:3001/发送POST请求时,Node.js给出了错误ECONNREFUSED

我已经用另一个程序测试了POST请求,它在那里工作。知道它为什么不能从wolkenkit应用程序本身起作用吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-14 08:51:07

链接到的存储文件示例显示了将在浏览器中运行的代码,而不是后端本身。当然,两者都应该有效,但有一些小的差异,您需要注意。

修复主机名

首先,我假设在您的示例中,local.wolkenkit.io映射到127.0.0.1,这是wolkenkit的默认设置。这意味着,当您试图从Docker容器中连接到此域时,容器不会尝试调用blog存储容器,但它会停留在自己的内部。因此,首先需要修复的是主机名。

基本上,这有两个选项:您可以设置local.wolkenkit.io以便将其解析为计算机的外部IP地址。这是可行的,但相当麻烦。另一种选择是通过内部名称直接寻址负责blob存储的适当容器。内部名称<name-of-your-app>-depot-file。因此,您需要用https://local.wolkenkit.io:3001/替换https://<...>-depot-file.wolkenkit.io:3001/

固定港口

第二,港口错了。这是因为blob存储服务是内部运行在3000端口,外部运行在3001上。因此,您需要使用的不是https://<...>-depot-file.wolkenkit.io:3001/,而是https://<...>-depot-file.wolkenkit.io:3000/

一旦您这样做了,您就不会再有像ECONNREFUSED这样的错误了,因为现在可以找到服务了。

解决SSL问题

第三,由于您现在使用不同的域名连接到blob存储服务,所以SSL证书不再匹配,因为它是为local.wolkenkit.io颁发的。因此,在尝试连接时,您将得到SSL错误。

解决这个问题的最简单方法是禁用任何SSL检查(尽管这也是处理此问题的最不安全的方式!)如何做到这一点取决于您正在使用的HTTP客户端模块。例如,在请求中有一个名为strictSSL的选项,您可以将其设置为false

当然,您实际上应该做的是使用包含此域名的自定义证书,或者编写一个函数来处理证书检查并接受呈现的证书,尤其是在这种情况下。

如果你这样做的话,事情就会运转起来:-)

PS:我是wolkenkit的作者之一。非常感谢您提出这个问题,我们将在将来处理这个问题,以使存储气泡更容易。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49272999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档