Ngrok在同一个域中配置多个端口

时间:2014-08-27 08:28:27

标签: iis-express ngrok

是否可以在同一个域中的ngrok中打开多个端口?

类似的东西:

Fowarding http://example.ngrok.com:50001 - > 127.0.0.1:50001

Fowarding http://example.ngrok.com:50002 - > 127.0.0.1:50002

我在Windows中工作,它对于使用IIS Express

进行debuging非常有用

4 个答案:

答案 0 :(得分:24)

是的,可以在hostname

内使用multiple simultaneous tunnels

您需要做的就是在配置文件中声明它们,如下所示:

authtoken: 4nq9771bPxe8ctg7LKr_2ClH7Y15Zqe4bWLWF9p
tunnels:
  first-app:
    addr: 50001
    proto: http
    hostname: example.ngrok.com
    host_header: first-app.example.ngrok.com
  second-app:
    addr: 50002
    proto: http
    hostname: example.ngrok.com
    host_header: second-app.example.ngrok.com        

用以下方式运行它们:

ngrok start --all

查看文档中的选项,例如hostnamesubdomainauthtokenhost_header。希望这能帮到你!

P.S 对于免费计划,请删除自定义主机和标题部分 像这样它将是不同的领域,仅供参考。

authtoken: 6yMXA63qefMZqCWSCHaaYq_5LufcciP1rG4LCZETjC6V
tunnels:
  first:
    addr: 3002
    proto: http    
  second:
    addr: 8080
    proto: http 

要查找默认配置文件,请阅读https://ngrok.com/docs#default-config-location所有计划都会获得一个身份验证令牌,您可以在网络信息中心https://dashboard.ngrok.com/get-started

找到您的令牌

答案 1 :(得分:2)

带多个端口的ngrok对我有用吗

因此,我遇到了一个问题,我需要相同域的源策略才能在不同的端口上工作,但是由于最终ngrok不支持此操作,所以我停了下来。它们支持自定义子域或自定义域,但不支持不同的端口,因为所有都必须通过端口80

而不是退出,我不得不像这样在本地使用nginx 一起入侵

http {
    server {
        listen       7777;
        server_name  localhost;

        location / {
            proxy_pass http://127.0.0.1:5000;
        }

        location /api {
            proxy_pass http://127.0.0.1:8000;
        }
    }
}

我很幸运api服务器在所有调用前面都加上了“ api”,因此我可以将api调用路由到特定端口,并且仍然在另一台Web服务器上提供其他流量,因此您可能不太幸运。

然后我将公共Web服务器配置为将所有api调用路由到相同的ngrok地址,并让ngnix对其进行排序。

我希望这可以帮助您考虑到解决方案的组合,因为只有一种方法可能会使您陷入困境。

答案 2 :(得分:2)

我在ngrok进程(在保留域上)上使用了本地端口80。

ngrok http 80

在本地,我让nginx运行以下配置。对我而言唯一重要的是2个位置/ admin和/ api,因为这是我以前使用多个ngrok过程的位置。 nginx允许您将同一隧道用于不同的位置。

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name _;

    location /admin {
        proxy_pass http://127.0.0.1:3005;
    }

    location /api {
        proxy_pass http://127.0.0.1:5001;
    }
}

答案 3 :(得分:0)

转到这些位置:

  • OS X:/Users/example/.ngrok2/ngrok.yml
  • Linux:/home/example/.ngrok2/ngrok.yml
  • Windows:C:\Users\example.ngrok2\ngrok.yml

然后在记事本中打开 yml 文件并粘贴下面的代码并保存。

authtoken: your_token
tunnels:
  first:
    addr: 3002
    proto: http    
  second:
    addr: 8080
    proto: http

现在转到您的 ngrok 位置并运行 ngrok start --all