是否可以在同一域中的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
是的,可以在同一个内同时使用多个隧道hostname
!
您需要做的就是在配置文件中声明它们,如下所示:
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 计划像这样删除自定义主机和标头部分,这将是不同的域仅供参考。
authtoken: 6yMXA63qefMZqCWSCHaaYq_5LufcciP1rG4LCZETjC6V
tunnels:
first:
addr: 3002
proto: http
second:
addr: 8080
proto: http
笔记:
要找到您的默认配置文件,请阅读https://ngrok.com/docs#config-default-location
.
所有计划都会发出一个 auth token。您可以在 Web 仪表板中找到您的:https://dashboard.ngrok.com/get-started
所以我遇到了一个问题,我需要相同的域来源策略来为不同的端口工作,但我的轨道停止了,因为最终 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 对其进行排序。
我希望这可以帮助您考虑多种解决方案来实现目标,因为只有一种方法可能会让您像我一样陷入困境。
转到这些位置:
然后在记事本中打开yml文件并粘贴下面的代码并保存。
authtoken: your_token
tunnels:
first:
addr: 3002
proto: http
second:
addr: 8080
proto: http
现在转到您的 ngrok 位置并运行 ngrok start --all
我在 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;
}
}
不幸的是,以下解决方案都不适合我,但经过几个小时用鼻子输入代码后,我想出了解决这个问题的方法:
授权令牌:your_private_token 隧道: 基础API: 原型:http 地址:https://localhost:44307/ 主机头:本地主机:44307 授权API: 原型:http 地址:https://localhost:44305/ 主机头:本地主机:44305
不同之处在于,我不仅使用了现场端口addr
,还使用了完整链接并添加了端口host_header
。