You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu虚拟机部署Shopify应用授权链接无法访问问题求助

问题排查与解决方案
  • 检查本地端口监听状态
    先确认你的开发服务器是否真的在3456端口运行,执行以下命令:

    sudo lsof -i :3456
    # 或
    netstat -tulpn | grep 3456
    

    如果无输出,说明npm run dev未成功启动服务,或服务绑定了其他端口,查看终端启动日志确认实际端口。

  • 修正Nginx反向代理配置
    你混淆了本地端口与公共域名的代理逻辑:Shopify授权需通过公共URL访问,而非本地127.0.0.1链接。正确的Nginx配置应将公共域名反向代理到本地dev服务端口,示例如下:

    server {
        listen 80;
        server_name your-public-domain.com;
    
        location / {
            proxy_pass http://127.0.0.1:3456;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    

    配置完成后重启Nginx:

    sudo systemctl restart nginx
    

    测试公共域名是否能访问本地服务(在虚拟机外浏览器访问your-public-domain.com)。

  • 核对Shopify应用环境变量
    检查项目根目录的.env文件,确保SHOPIFY_APP_URL设置为你的公共域名(如https://your-public-domain.com,若用HTTPS需配置SSL证书),而非本地IP。修改后重启npm run dev,此时生成的授权链接应指向公共域名。

  • 配置虚拟机端口转发
    若Ubuntu虚拟机运行在物理机上,需在虚拟机网络设置(如VirtualBox端口转发、VMware NAT规则)中,将物理机的80/443端口转发到虚拟机对应端口,确保外部(含Shopify服务器)可访问你的公共域名服务。

  • 使用正确的授权链接
    不要直接访问http://127.0.0.1:3456/?c,而是使用npm run dev输出的完整授权链接(含公共域名与shop参数)在浏览器打开,完成Shopify授权流程。若生成链接仍指向127.0.0.1,重新检查.env文件配置。

内容的提问来源于stack exchange,提问作者Amit Choudhary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 22:15:59