Skip to content
Gains Summary
Main Navigation 首页 / Home
C++ 编程 / C++ Programming
系统与高性能 / Systems & Performance
Web 开发 / Web Development
人工智能 / Artificial Intelligence
工业软件 / Industrial Software
其他内容 / Other Topics
C++ 编程 / C++系统与性能 / SystemsWeb 开发 / Web人工智能 / AI工业软件 / Industrial

外观

Sidebar Navigation

← Web 开发 / Web Development

运维与部署 / DevOps & Deployment

1. DevOps 基础——为什么你的系统部署总是出问题 / DevOps Fundamentals and Reliable Deployment

2. Vercel 全局认证配置 / Global Authentication Configuration on Vercel

容器实践 / Docker Practice

1. Docker 实战指南 / A Practical Guide to Docker

Web 部署案例 / Web Deployment Cases

1. 🚀 技术复盘:基于 Cloudflare Workers 的 GitHub API 缓存代理方案 / A GitHub API Caching Proxy Built with Cloudflare Workers

2. 我与 ChatGPT 关于 Cloudflare 与 CWF 项目的深度对话 / An In-Depth Discussion with ChatGPT About Cloudflare and CWF

3. CI/CD 技能指南 / A CI/CD Skills Guide

4. CI/CD 实战指南 - 前后端分离部署 / Practical CI/CD for Separately Deployed Frontends and Backends

5. Cloudflare 实战指南 / A Practical Guide to Cloudflare

6. CWFrame 项目部署文档 / CWFrame Project Deployment Guide

7. CWF 项目部署复盘总结 / CWF Project Deployment Retrospective

8. Prisma Studio 端口访问问题排查 / Troubleshooting Prisma Studio Port Access

9. Vercel 部署完全指南 / A Complete Guide to Vercel Deployment

10. 📄 前后端 + Nginx + 请求流程完整理解(总结版) / The Complete Request Path from Browser to Backend Through Nginx

本页目录

Prisma Studio 端口访问问题排查 / Troubleshooting Prisma Studio Port Access ​

在服务器上启动 Prisma Studio 后,无法通过 IP:5555 访问的排查过程。

Prisma Studio 是具有数据库读写能力的管理界面,不应为了方便直接暴露到公网。排查目标应先确认服务在哪个地址监听,再选择 SSH 隧道、VPN 或受认证的反向代理安全访问,而不是默认开放防火墙端口。


问题背景 ​

想在服务器上使用 Prisma Studio 查看 TiDB 的数据,使用了带 SSL 参数的数据库连接:

bash
npx prisma studio --url "mysql:xxxxsslaccept=strict" --browser none --port 5555
1

启动显示成功,但通过服务器 IP:5555 无法访问。


排查过程 ​

本地测试 ​

在另一个服务器终端执行:

bash
curl -I http://127.0.0.1:5555
1

返回结果:

HTTP/1.1 200 OK
access-control-allow-origin: *
content-type: text/html
Date: Mon, 06 Apr 2026 08:15:56 GMT
Connection: keep-alive
Keep-Alive: timeout=5
1
2
3
4
5
6

✅ 本地 localhost 可以正常访问

外网测试 ​

通过服务器公网 IP:5555 访问 → ❌ 无法访问


原因分析 ​

默认只监听本地 localhost

Prisma Studio 默认只监听 127.0.0.1,不会监听 0.0.0.0(所有网卡)。

┌─────────────────────────────────────────┐
│           服务器                         │
│                                         │
│   ┌─────────────────────────────────┐   │
│   │   Prisma Studio                 │   │
│   │   监听: 127.0.0.1:5555          │   │
│   └─────────────────────────────────┘   │
│          ↑                    ↑         │
│     本地访问 ✓           外网访问 ✗      │
└─────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10

核心概念:端口与监听 ​

概念说明
端口Prisma Studio 开辟的"数据存放点"
监听范围决定谁能访问这个端口
  • 默认监听范围:只有本机可以访问
  • 需要设置监听 0.0.0.0 才能让外网访问

解决方案 ​

需要在启动时指定监听地址为 0.0.0.0(或者在配置中修改)。


总结 ​

现象原因
curl 127.0.0.1:5555 成功服务确实在运行
通过 IP:5555 访问失败默认只监听 localhost

关键:启动服务时需要显式指定监听地址,否则只能本地访问。

更安全的访问方式:SSH 隧道 ​

保持 Studio 只监听服务器回环地址,在本地机器建立端口转发:

bash
ssh -L 5555:127.0.0.1:5555 user@server
1

随后本地浏览器访问 http://127.0.0.1:5555。连接经 SSH 加密并使用现有服务器身份认证,数据库管理界面无需暴露到公网。若本地 5555 已占用,可以把命令左侧端口改为其他值,例如 15555:127.0.0.1:5555。

分层排查方法 ​

text
进程是否存活
  -> 本机 curl 是否成功
  -> socket 实际绑定地址
  -> 主机防火墙与云安全组
  -> NAT / 反向代理路径
  -> 浏览器和应用层错误
1
2
3
4
5
6

本机请求失败时先查看 Studio 进程输出和端口占用;本机成功而远端失败,才检查绑定地址和网络策略。使用系统网络工具确认监听的是 127.0.0.1:5555、[::1]:5555 还是所有接口,不能只根据启动日志猜测。若通过反向代理访问,还要检查 WebSocket、路径前缀和超时是否被正确转发。

为什么不推荐直接监听公网 ​

绑定 0.0.0.0 表示所有 IPv4 网卡可接收连接,不代表连接已经加密或经过认证。云安全组、防火墙配置错误,或以后新增网卡,都可能让管理界面意外暴露。Studio 连接串通常拥有广泛数据库权限,一旦被访问,影响远大于普通只读页面。

确实需要团队共享时,应放在 VPN 或零信任访问层之后,配置身份认证、TLS、访问日志和最小权限数据库账号,并设置明确的启停时间。排查结束后关闭 Studio,确认端口不再监听;不要把临时诊断服务变成长期生产入口。

最终验收包括:本地隧道可访问、非授权网络无法直连、连接串没有出现在 Shell 历史或仓库中,并且数据库账号只拥有完成当前检查所需的权限。

如果访问仍失败,可用另一个简单 HTTP 服务在相同回环地址和端口转发规则下做对照,以区分 SSH 隧道问题与 Studio 自身问题。诊断命令输出应隐藏用户名、主机地址和数据库连接串后再进入文档或工单。

完成排查后记录根因所在层:进程、监听、主机网络、云网络、隧道还是应用协议。这样的记录比“开放 5555 端口即可”更可复用,也能防止下一次故障直接采用风险最高的公网暴露方案。

最后更新于:

Pager
上一篇7. CWF 项目部署复盘总结 / CWF Project Deployment Retrospective
下一篇9. Vercel 部署完全指南 / A Complete Guide to Vercel Deployment

持续记录,持续成长

Copyright © Tidenflow