colab上服务暴漏到公网上

Google Colab 是一个 托管在云端的 Jupyter 环境,它运行在 Google 的服务器上,不在你的本地机器,因此你无法直接访问 Colab 中启动的 127.0.0.1:8188(或任何 localhost 地址),除非你通过某种方式将该端口暴露到公网


1.使用 ngrok 暴露端口

以下是如何通过 ngrok127.0.0.1:8188 公开访问:


1.1. 安装 ngrok

1
!pip install pyngrok

1.2. 启动你监听的服务(如 WebUI)

确保你在 Colab 中启动的服务监听的是:

1
127.0.0.1:8188

1.3. 创建隧道

1
2
3
4
5
from pyngrok import ngrok

# 创建隧道映射到本地 8188 端口
public_url = ngrok.connect(8188)
print(f"Public URL: {public_url}")

1.4. 点击输出的链接,即可访问

例如,输出可能是:

Public URL: http://1234-45-678-90-1.ngrok.io

你就可以在浏览器访问这个 URL 来访问 Colab 的服务。


⚠️ 注意事项

  • Colab 默认 不能使用 root 权限启动后台服务,所以服务必须由 Python 启动或能以非 root 方式运行。
  • ngrok 免费账户可能会有频繁断开限制,如果你需要长期运行,考虑注册或用 localtunnel 代替。

2.可选替代方案:使用 localtunnel

1
2
!npm install -g localtunnel
!lt --port 8188