首页 > 解决方案 > 对 Shopify API 的 REST API 调用从不返回任何内容,并在超时后抛出 504

问题描述

我的 Shopify API 出现问题。我从我的 React 前端向特定的 express 端点发出调用,该端点到达该端点并成功返回响应。这一切都在我的 VPS 上,我的 nginx 充当代理。

try {} catch {}然后我在端点请求中放置一个app.get('/api/add_customer'),并调用外部 Shopify API url 来获取客户,它永远不会回复我。response从不打印。

值得一提的是,所有这些都在我的本地环境中完美运行。值得一提的是,我已经try {} catch {}使用公共 API 进行了尝试,它也可以完美运行。

我不确定这是否是 Shopify API 无法正常工作、我的 nginx 设置或其他任何问题?我会很高兴收到任何指示!

server.js ->

const express = require('express');
const axios = require('axios')
const dotenv = require('dotenv');

dotenv.config();

const app = express();
const port = process.env.PORT || 6000;

app.use(express.json());
app.use(express.urlencoded({
  extended: true
}));



app.get('/api/add_customer', async (req, res, next) => {

  let shopifyUrl = 'https://' + process.env.SHOPIFY_URL + '/admin/api/2021-07/customers.json';

  try {
    const response = await axios.get(shopifyUrl,
    {
      headers: {
        'X-Shopify-Access-Token': process.env.SHOPIFY_PASS,
        'Content-Type': 'application/json',
        'Access-Control-Allow-Origin': '*'
      }
    });

    console.log('RESPONSE: ', response.data);

    res.send("All good");

  } catch (err) {
    res.send(err);
  }

});

app.listen(port, () => console.log(`Listening on port ${port}`));

nginx config ->

server {
        listen 80;
        listen [::]:80;

        server_name SERVER_IP_ADDRESS;

        location / {
                root /var/www/html;
                index index.html index.htm index.nginx-debian.html;
                try_files $uri /index.html$is_args$args =404;
        }

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

webpack.config.js devServer settings ->

devServer: {
    port: 3000,
    watchContentBase: true,
    historyApiFallback: true,
    proxy: {
      "/api": "http://localhost:6000",
    }
  },

非常感谢任何提示和帮助!

标签: reactjsexpressnginxshopifyshopify-api-node

解决方案


推荐阅读