【问题标题】:"TypeError:Networkerror when attempting to fetch resource" when my remote client tries to communicate with my remote server当我的远程客户端尝试与我的远程服务器通信时,“TypeError:Networkerror when trying to fetch resource”
【发布时间】:2022-01-09 08:26:44
【问题描述】:

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

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

TypeError:Networkerror when attempting to fetch resource

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

我在客户端的 package.json 和 HOST/PORT/HTTPS 属性中使用了“代理”,如 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;
   }

【问题讨论】:

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


    【解决方案1】:

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

    有关 CORS 标头的更多信息,请参阅 here

    【讨论】:

    • 嗨 Oliver,我的服务器已经启用了 CORS。正如我所说,当我使用本地机器上的客户端与远程服务器对话时没有问题。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 2016-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多