You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中使用ngrok生成静态URL替代随机URL?

实现Flask+ngrok静态固定URL方案

一、免费版本可行方案

ngrok免费版虽无永久绑定的静态域名,但验证邮箱后可使用自定义临时子域名(只要该子域名未被他人占用,每次启动隧道时指定即可复用),操作步骤:

  • 先完成ngrok账号的邮箱验证(登录官网完成验证,这是使用自定义子域名的必要前提)
  • 修改原代码,在ngrok.connect()中添加subdomain参数指定自定义子域名:
    !pip install flask pyngrok
    !ngrok authtoken {{你的认证令牌}}
    from flask import Flask
    from pyngrok import ngrok
    import os
    
    app = Flask(__name__)  # 修正原代码语法错误:name → __name__
    
    @app.route("/")
    def home():
        return "Hello from Flask"
    
    # 替换为你想要的子域名,比如"my-flask-demo"
    public_url = ngrok.connect(5000, bind_tls=True, subdomain="my-flask-demo")
    print("固定访问URL:", public_url)
    
    app.run()
    
  • 每次运行代码时,只要该子域名未被占用,就能得到固定的https://my-flask-demo.ngrok.io地址

注意:免费版的自定义子域名若7天未使用,会被系统自动释放,需重新指定。

二、付费版本(Pro/Enterprise)方案

付费版支持永久静态域名,可绑定自有域名或使用ngrok提供的固定子域名,操作步骤:

  • 登录ngrok官网,在仪表盘的「Domains」页面添加并配置你的静态域名(可选择使用ngrok官方子域名或绑定自己的域名)
  • 修改代码,在ngrok.connect()中添加domain参数指定已配置的静态域名:
    !pip install flask pyngrok
    !ngrok authtoken {{你的认证令牌}}
    from flask import Flask
    from pyngrok import ngrok
    import os
    
    app = Flask(__name__)
    
    @app.route("/")
    def home():
        return "Hello from Flask"
    
    # 替换为你配置好的静态域名
    public_url = ngrok.connect(5000, bind_tls=True, domain="my-fixed-domain.ngrok.io")
    print("永久静态URL:", public_url)
    
    app.run()
    
  • 每次启动隧道都会自动绑定该静态域名,无需担心被释放

额外优化:付费版支持「Persistent Tunnels」功能,可在ngrok配置文件中预设隧道参数,启动时直接调用,无需在代码中重复配置。

代码修正说明

原代码存在一处语法错误:app = Flask(name) 需改为 app = Flask(__name__),否则Flask无法正确识别应用的根路径。

内容的提问来源于stack exchange,提问作者etrling dscouza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 14:37:52