当我的远程客户端尝试与远程服务器通信时,“TypeError:尝试获取资源时出现Networkerror”

时间:2018-02-02 22:53:27

标签: node.js amazon-web-services nginx https digital-ocean

我已将React客户端上传到DigitalOcean,并附带SSL证书以启用HTTPS。我还将我的Express服务器上传到亚马逊的AWS。不同主机提供商的原因是我无法将我的客户端上传到AWS,因此我切换到DO。

服务器运行良好,当我从我的机器上使用客户端时,我得到了正常的响应。但是,完全相同的代码在DO的Nginx服务器中不起作用。我明白了:

TypeError:Networkerror when attempting to fetch resource

但没有响应错误代码。 GraphQL / fetch请求在服务器上不可见,因此它们要么没有正确发送,要么服务器无法正确接受它们。

我在客户端的package.json和HOST / PORT / HTTPS属性中使用“proxy”,如here所示。但我意识到这些对生产没有任何影响。

我不知道如何解决这个问题。我唯一的猜测是客户端使用HTTPS,而服务器没有,但我没有找到关于这是否有问题的信息。

这是我客户的Nginx服务器配置:

 server {
    listen 80 default_server;

    server_name example.com www.example.com;

    location / {
            proxy_pass http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    }

2 个答案:

答案 0 :(得分:0)

如果您的客户位于与您的API服务器不同的域中,那么您需要确保在API服务器上启用了CORS标头,否则浏览器将拒绝加载内容。

有关CORS标头的详细信息,请参阅here

答案 1 :(得分:0)

在 DO 上运行客户端时是否关闭了凭据?也许在您的客户端上存储 cookie 是不可能的。