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

如何在线访问安装在Google Colab上的Apache Solr服务

核心原因

Google Colab 运行时为隔离的虚拟实例,内部服务的端口默认不会对外网公开映射,直接使用实例公网IP、colab.research.google.com域名加端口的方式访问必然失败,你之前本地调用返回正常说明Solr服务本身运行无问题,仅需解决端口暴露问题即可。

方法1:使用Colab内置端口代理(无需额外工具,仅同谷歌账号可访问)

直接在Colab代码块中运行以下代码,即可获取Solr服务的公开访问地址:

from google.colab.output import eval_js
solr_url = eval_js("google.colab.kernel.proxyPort(8983)")
print("Solr 访问地址:" + solr_url)

获取到的地址可直接在浏览器打开访问Solr管理界面,也可在代码中调用Solr API时使用该地址,访问时需登录运行当前Colab实例的谷歌账号。

如果你后续换端口启动Solr,只需把代码中的8983替换为你实际使用的端口即可。

方法2:使用ngrok隧道公开访问(支持任意设备访问,无需谷歌账号)

  1. 注册ngrok账号获取你的专属authtoken
  2. 在Colab中运行以下代码配置并启动隧道:
# 下载安装ngrok
! wget -q -c -nc https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
! tar -xvzf ngrok-v3-stable-linux-amd64.tgz
# 配置你的authtoken
! ./ngrok config add-authtoken 替换为你自己的ngrok_authtoken
# 后台启动隧道映射8983端口
! ./ngrok http 8983 &
  1. 运行以下代码获取公网访问地址:
! curl -s http://localhost:4040/api/tunnels | python3 -c "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

拿到的地址即可直接对外访问Solr服务。

附加说明:端口占用问题处理

如果后续需要更换Solr启动端口,启动命令添加-p参数指定端口即可,示例:

! /content/drive/MyDrive/solr-8.5.0/bin/solr start -c -force -p 8984

后续代理、隧道配置对应修改为新端口即可。

内容的提问来源于stack exchange,提问作者Jawad Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:24:00