使用代理绕过 ngrok

使用代理绕过 ngrok

为了改进 DX,我尝试将 ngrok 请求本地重定向到 localhost:3000,而不转到 ngrok 服务器

我需要 ngrok 将我的应用程序嵌入到 shopify 管理中,但除此之外,我希望请求直接发送到本地主机,从而使重新加载和 hmr 更快

有没有办法使用代理来做到这一点? 有没有更好的方法?

答案1

我能够通过以下方式实现这一点:

  1. 在本地设置 nginx。

  2. 为每个子域创建服务器配置;例如:

    server {
        listen 80;
        listen 443 ssl;
        server_name example.ngrok.io;
    
        ssl_certificate     /usr/local/etc/ssl/certs/self-signed.crt;
        ssl_certificate_key /usr/local/etc/ssl/private/self-signed.key;
    
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;
        ssl_dhparam /usr/local/etc/ssl/certs/dhparam.pem;
    
        location / {
            proxy_pass http://127.0.0.1:3000/;
        }
    }
    
  3. 在本地为通配符创建自签名证书(我使用多个 ngrok 隧道)本教程。请注意,我已将“test.cpming.top”的所有实例更改为“*.ngrok.io”。另请注意,我在命令中使用了“2048”而不是“128” openssl dhparam

  4. 将隧道子域添加到 /etc/hosts 并将其指向 127.0.0.1;例如:127.0.0.1 example.ngrok.io

请注意,您需要通过注释掉您添加的条目来暂时禁用此功能,/etc/hosts以便通过 Shopify 的 OAuth 安装应用程序。

事物加载很多现在在开发模式下速度更快。这也让我可以在带宽较低的 wifi 连接咖啡店工作,如果我使用手机上网,我使用的带宽会少得多。

希望这可以帮助。

相关内容