是否可以在同一域的ngrok中打开多个端口?
就像是:
转发http://example.ngrok.com:50001- > 127.0.0.1:50001
转发http://example.ngrok.com:50002- > 127.0.0.1:50002
我在Windows中工作,这对于调试时很有用 IIS Express
是否可以在同一域的ngrok中打开多个端口?
就像是:
转发http://example.ngrok.com:50001- > 127.0.0.1:50001
转发http://example.ngrok.com:50002- > 127.0.0.1:50002
我在Windows中工作,这对于调试时很有用 IIS Express
Answers:
您需要做的就是在配置文件中声明它们,如下所示:
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
寻找选项,如文档上hostname
,subdomain
,authtoken
和host_header
。希望这对您有所帮助!
PS For Free计划删除自定义主机和标头部分,就像这样,这将是不同域的FYI。
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
Tunnel session failed: The tunnel 'http://example.ngrok.com' is already bound to another tunnel session ERR_NGROK_334
...用于保留的主机名。
Tunnel session failed: Only Pro & Business plans may bind custom hostnames. Failed to bind the custom hostname 'sajilni.example.ngrok.com' for the account 'shareef hiasat'. This account is on the 'Free' plan. Upgrade to a paid plan at: https://dashboard.ngrok.com/billing/plan ERR_NGROK_314
我必须删除自定义主机名
ngrok
支持。通过ngrok.io TLD上生成的子域的所有Web流量将仅在port上侦听:80
。要在另一个非标准HTTP端口上进行侦听,您必须使用其TLS“保留”域。但是,那些在注册时会被随机分配一个端口,并且它们不会在与HTTP隧道相同的域上进行侦听。最后,此答案不能为OP的问题提供有效的解决方案。否决票2表示其他2人,而不是2人浪费时间追逐这一点
因此,我遇到了一个问题,即我需要使用相同的域源策略来为不同的端口工作,但由于最终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对其进行排序。
我希望这可以帮助您考虑到解决方案的组合,因为只有一种方法可能会使您陷入困境。
我在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;
}
}