【问题标题】:local shopify app development with docker: Request origin could not be verified使用 docker 进行本地 shopify 应用程序开发:无法验证请求来源
【发布时间】:2020-12-22 14:49:48
【问题描述】:

所以我有一个我想要改进的 dockerized shopify 应用程序(Node / React)。自然,我希望能够在本地进行更改并在我的本地环境中进行测试,然后再将它们发布到舞台环境。

我几乎可以启动并运行我的设置,但是一旦我在 shopify 开发商店中安装了本地运行的应用程序,我就会收到错误:Request origin could not be verified

原因可能是回调 url,即:https://shopify-app.local/auth/callback?... 而不是 ngrok-url。

在我的 ngrok.conf 中,我将 host_header 设置为 shopify-app.local:

web_addr: 0.0.0.0:4040
region: eu
authtoken: [MY_TOKEN]
log: stdout
tunnels:
  shopify-app:
    proto: http
    addr: https://shopify-app.local
    host_header: shopify-app.local

(这是代理正确分配流量所必需的,并且该部分实际上正在工作 - 我的应用程序接收传入流量)。

所以我想我在这里缺少的是在对 ngrok 生成的 url 的响应中设置适当的主机头。但是我会在哪里以及如何做到这一点?

我正在使用臭名昭著的jwilder/nginx-proxy

为了更好地理解,我的设置如下所示:

【问题讨论】:

    标签: docker shopify shopify-app ngrok


    【解决方案1】:

    如果有人偶然发现这一点,解决方案很简单,只需将 add_header Host [ngrok-address] always; 添加到适当服务的 nginx 配置中的 location 指令中即可。

    我通过在我的项目文件夹中创建一个文件/nginx/vhost.d/[vhost-name]_location 来管理它,将此文件夹作为卷安装到具有docker-compose.yml 的代理上,并将前面提到的行添加到其中。一旦使用 docker-compose 启动该文件,代理就会获取该文件

    请参阅jwilder-nginx Documentationnginx-documentation 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      • 2015-11-05
      • 2011-02-13
      • 1970-01-01
      • 2012-07-05
      • 2012-08-02
      • 1970-01-01
      相关资源
      最近更新 更多