当前位置: 首页 > news >正文

小白也能学会!如何远程访问公司内网的 FastAPI 服务

🚀 小白也能学会!如何远程访问公司内网的 FastAPI 服务

用最简单的话,教你通过 SSH 隧道,在公司外面也能访问内网部署的 FastAPI 服务。

适用人群:零基础新手,只需要会复制粘贴命令就行。


📖 为什么要看这篇文章?

很多公司会把业务系统(比如一个用 FastAPI 写的后端服务)部署在公司内网的服务器上。

  • 服务器在内网,比如 IP 是192.168.0.xxx
  • 你在家里或外出办公,没法直接访问这个内网地址
  • 但公司给你开了一个远程通道(常见叫法:frp / VPN / 堡垒机),给你一个对外地址和端口,比如“deepseek.test.com:10101”
  • 你的 FastAPI 服务就跑在那台服务器上,监听某个端口(比如6101

问题来了:我在外面,怎么访问这个服务?🤔

答案:打个"电话"(SSH 隧道),把服务器的端口"接"到你本地电脑上,就能像访问本机服务一样访问它了!


🛠️ 准备工作

你需要准备哪些信息?(下面内容为构造的模拟信息,仅为举例说明,非真实账号信息)

项目说明你从哪里找
服务器地址deepseek.test.com公司分配的远程通道域名
SSH 端口10101远程通道端口
用户名yyq服务器登录账号
密码Yyq@2026..登录密码
服务端口6101FastAPI 服务监听的端口

💡小技巧:这些信息通常在项目的部署文档里都能找到,或者直接问维护服务器的同事。

检查电脑有没有 SSH

在 Windows 搜索框输入cmd回车,打开命令提示符,输入:

ssh

如果出现:

usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] ...

说明你的电脑自带 SSH,Windows 10/11 默认都有,不用额外装。
实例:

如果提示"不是内部或外部命令",说明系统较老,搜索"如何在 Windows 安装 OpenSSH"装一下即可。


📞 第一步:打"电话"(建立 SSH 隧道)

操作步骤

第 1 步:打开 cmd 或 PowerShell

  • Win + R
  • 输入cmd,回车
  • 出现一个黑色窗口

第 2 步:输入建立隧道的命令

命令格式如下(把里面的"占位符"换成你自己的信息):

ssh-p你的SSH端口-L本地端口:127.0.0.1:服务端口 用户名@服务器地址

我们的实际命令

ssh-p10101-L6101:127.0.0.1:6101 yyq@deepseek.test.com

第 3 步:输入密码

  • 第一次连接会提示确认主机指纹,输入yes回车
  • 然后提示输入密码:Yyq@2025..
  • 注意:输密码时屏幕不显示任何字符(这是正常的,防止偷看),直接输完按回车

第 4 步:看到成功提示

看到类似这样的界面,就说明连上了:

Welcome to Ubuntu 24.04.2 LTS 你的用户名@你的服务器:~$

重要!👉这个窗口不要关!不要关!不要关!关了就断了。


🌐 第二步:打开浏览器访问

保持 SSH 窗口开着,打开浏览器(Chrome、Edge 等),访问:

http://127.0.0.1:本地端口/health

比如你本地端口用的 6101,就访问:

http://127.0.0.1:6101/health

如果看到类似:

{"status":"ok"}

🎉恭喜你,成功了!

还能看什么?

地址看什么
http://127.0.0.1:6101/health健康检查(最简单)
http://127.0.0.1:6101/docsFastAPI 自带接口文档(Swagger,最直观)
http://127.0.0.1:6101/redoc接口文档(另一种风格)

💡强烈建议打开http://127.0.0.1:6101/docs

FastAPI 框架会自动生成一个漂亮的接口文档页面,上面列出所有 API 接口,每个接口都可以直接点击“Try it out”按钮测试调用,超级方便!


🔑 第三步:调用需要"钥匙"的接口

很多业务接口不是免费开放的,需要带Token(可以理解成一把"钥匙")。

Token 是什么?

Token 是一串授权字符串,通常长这样:

dataset-xxxxxxxxxxxxxxxxxxxxxxxxxx

有了它,接口才知道"你有权限访问"。Token 一般由系统管理员或后端同事提供。

使用方式

方式一:在浏览器 docs 页面测试(最简单)

  1. 打开http://127.0.0.1:6101/docs
  2. 找到右上角的Authorize按钮
  3. 输入Bearer 你的Token
  4. 点击 Authorize
  5. 然后随便点一个接口,点“Try it out”就能测试

方式二:用 curl 命令(敲键盘)

# 打开一个 cmd 窗口,输入:curl"http://127.0.0.1:6101/v1/datasets"^-H"Authorization: Bearer 你的Token"

小提示:^是 Windows cmd 里的换行符,如果命令写在一行就不用加。


⚠️ 常见问题(小白必看)

Q1:为什么我连不上?

按顺序检查:

  1. ✅ SSH 窗口还开着吗?(关了就连不上了)
  2. ✅ 密码输对了吗?(注意大小写)
  3. ✅ 是不是没连公司内网?(一般需要先连 VPN 才能访问远程通道)
  4. ✅ 服务器地址、端口写对了吗?

Q2:提示"端口被占用"

如果看到:

bind: Address already in use

说明你本地这个端口已经被别的程序占了。换个端口即可,比如从 6101 换成 8080:

ssh-p10101-L8080:127.0.0.1:6101 用户名@服务器地址

然后浏览器访问http://127.0.0.1:8080/health

Q3:提示"Host key verification failed"

第一次连某台服务器时会提示:

The authenticity of host ... can't be established. Are you sure you want to continue connecting?

输入yes回车,以后就不会再提示了。

Q4:怎么断开?

直接关掉 SSH 窗口,或按Ctrl + D,或输入exit回车。

Q5:断开后想再连?

重新打开 cmd,再执行一次那条 SSH 命令即可。


📋 一句话总结

# 实际命令ssh-p10101-L6101:127.0.0.1:6101 yyq@deepseek.test.com# 然后浏览器访问:http://127.0.0.1:6101/docs

记住三个关键点:

  1. 🪟 SSH 窗口不要关
  2. 🔑 需要权限的接口要加Authorization: Bearer 你的Token
  3. 🌐 浏览器打开http://127.0.0.1:本地端口/docs最方便

🎁 进阶:为什么这样能行?(给想深入的同学)

简单说,SSH 的-L参数做了一个端口转发

你本地端口 6101 ←→ SSH隧道 ←→ 服务器端口 6101

所有发到你本地 6101 端口的请求,都会被 SSH"悄悄送到"服务器的 6101 端口,再把服务器的响应"原路送回"。这样你就感觉像是在访问自己电脑上的服务一样,但其实数据都走的是加密的 SSH 通道,既安全又方便。

这个概念叫SSH 端口转发(Port Forwarding),是运维和开发同学的常用技能,学会它以后很多远程访问问题都能自己解决!

http://www.jsqmd.com/news/1379705/

相关文章:

  • 从Function Calling到MCP:构建安全可控的生产级AI Agent系统
  • 9款必备MCP Server配置指南:解锁Cursor AI私有数据访问与效率革命
  • 如何系统评估与淘到高价值周边模型:从信息搜集到真伪鉴别全流程
  • 2026年涿州钻石回收怎么选靠谱商家?(185-3117-2838)火炬路204赵掌柜二奢店实体门店规范鉴定指南 - 赵掌柜二奢
  • Pygame性能优化:脏矩形技术原理、实战与避坑指南
  • Spring IoCDI
  • OFD文件预览方式详解(在线预览),采用异步加载OFD文件实现在线预览解析ofd文件 - usdoc
  • Windows GDI文本绘制:TextOut与DrawText的核心原理与实战选择
  • 远程联机软件推荐 远程联机用哪个软件好
  • G-Helper风扇曲线精准调校:华硕笔记本散热性能深度优化指南
  • 2026年湛江安防监控与弱电机房,办公网络怎么建? - LYL仔仔
  • 企业媒体发稿怎么做好AI收录沉淀?传播易智能投放解决方案
  • Java泛型核心:类型变量<T>与通配符<?>的本质区别与实战应用
  • 研发费用中“材料费硬塞”的识别方法——基于领料单与实验记录交叉验证的实务操作指南
  • LangChain Agent企业级实战:从零构建智能数据分析助手
  • 2026法律案例库:腾讯ima搭建实践 - 领先技术探路人
  • 品牌出海如何做好海外传播?朝闻通全域媒体发稿有哪些优势?
  • TMSpeech:当语音识别遇上Windows生态,一场技术优雅的邂逅
  • 解决Real-SR项目Vulkan初始化失败:vkCreateInstance错误-9的完整排查指南
  • 高性能macOS GUI应用架构解析:Applite如何实现Homebrew Casks的图形化管理
  • Word打开总显示只读无法编辑?六种常见原因与对应解决全方案
  • 终端安全管理系统选型指南:5个关键维度与3款主流产品对比
  • 微信小程序自定义导航栏:动态获取状态栏与胶囊按钮高度全解析
  • Java多线程技术:提升数据库性能的关键
  • 高中档案一般在哪里存放,别等到政审才慌慌张张到处找 - 趣闻早乐评
  • 魔百盒CM201-1YS刷机不识别全攻略:从硬件短接到固件匹配
  • Windows 11 LTSC终极指南:5分钟快速添加微软商店完整版
  • 地产社区配套儿童乐园如何落地?晨语厂家提供设计‑生产‑安装整套方案 - GrowthUME
  • python : Python的time clock()方法被移除?替代方法你知道吗
  • 图像角色替换技术全解析:从AI抠图到光影融合的完整流程