【问题标题】:Shopify App Proxy returning a 404 responseShopify 应用代理返回 404 响应
【发布时间】:2021-09-05 04:58:59
【问题描述】:

我已使用 Shopify-CLI 生成应用,并将应用代理配置为:

Prefix: tools
Subpath: sb
Proxy: https://xxx.ngrok.io/sb

在 theme.liquid 页面中,我尝试以以下方式访问它:

    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
           // Typical action to be performed when the document is ready:
            var response = xhttp.responseText;
            console.log("Sb ok"+ response);
        }
    };
    xhttp.open("GET", "/tools/sb/sessions", true);

    xhttp.send();

我可以在浏览器上点击https://xxx.ngrok.io/sb/sessions 并获得有效响应。

但是 AJAX 请求在我的测试商店中不断给我一个 404。我已经能够使用不同的测试应用程序成功配置应用程序代理,唯一的区别是这是一个公共应用程序,而前一个是自定义应用程序。我最初有一个冲突的配置,即两个应用程序的 /a/sb,但我尝试将其更改为 /a、/apps、/tools,有和没有子路径都没有运气。我什至删除了以前的应用程序以避免任何意外冲突。

提前致谢!

【问题讨论】:

  • 您是否尝试过使用绝对 URL?
  • 如在 /tools/sb/sessions 请求中使用商店名称?我可以看到 GET 请求使用了来自网络日志的正确路径。
  • 根据 Shopify 文档prnt.sc/1ra574y,它应该可以工作,但在您的情况下 /sb 与子路径相同。我不确定它是否会造成问题或其他问题,但您需要尝试不同的子路径,例如 Shopify 示例?
  • 会试一试。以前,我在代理和 Shopify 配置上使用了相同的子路径,它运行良好。所以不确定导致故障的公共应用程序有什么特别之处。我还测试了直接调用xxx.ngrok.io...,效果也很好。
  • 这种改变也不走运。看起来 Shopify 根本没有使用此配置。

标签: shopify shopify-app


【解决方案1】:

发现问题。因为我在第一次配置应用代理时(意外地)使用了与前一个应用相同的前缀和子路径,Shopify 自动为代理定义添加了一个 -1 后缀,唯一的更改方法是去商店并更改配置.在合作伙伴/应用设置流程中更改代理 URL 没有帮助。

【讨论】:

    猜你喜欢
    • 2021-01-13
    • 2016-01-05
    • 1970-01-01
    • 2013-06-09
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    相关资源
    最近更新 更多