本地服务借助云服务器实现内网穿透
在本地部署了自己的deepseek后不局限于在本地或是仅在局域网中访问,此时想到了本人还有一个空闲的云服务器,于是便通过frp实现内网穿透,借助云服务器的公网ip,可以实现直接访问 公网ip:端口号 就能够访问本地部署的Open-WebUI、deepseek
frp分为两部分,一部分是frps,置于服务端;另一部分是frpc,置于客户端。
笔者的云服务器是华为云的,选装的镜像为Ubuntu22.04,此时要先在服务器上下载frp
apt-get install frp
下载后是一个带有版本号的frp文件夹,可以使用
mv frp*** frp 重命名为frp
在将本地部署好的Open-WebUI借助具有公网ip的云服务器暴露到公网中,云服务器即为服务端,此时仅保留frp中的frps的部分。
![]()
此时需要配置frps.ini,在frps.ini中配置如下内容,在服务器中的设置比较简单,配置完成后要开放端口

[common]
bind_port = 8000 #此处默认应为7000
authentication_method = token #相当于口令
token = sdhsjdsd #自己设置 服务端与客户端须相同
为了更加直观的对比服务器端和客户端的.ini文件的内容,我将frpc.ini也放在下方

[common]
server_addr = 111.113.***.** #此处为你的服务器公网ip
server_port = 8000 #刚才上方那个默认7000
token = ah****** #客服端与服务端的口令相同才可以连接[tcp_port]
type = tcp
local_ip = 10.11.2*.1* #本地的ip
local_port = 3000 #本地部署服务的端口号,即Open-WebUI外部端口号为3000
remote_port = 80 #这个就是指定的穿透成功后 公网ip:80 即可以访问本地部署的内容
windows客户端同样需要安装frp,
通过网盘分享的文件:frp安装包
链接: https://pan.baidu.com/s/1qNu8nBqT7asWmKQLgjP-qQ 提取码: sc7c
下载该安装包后,将其解压,解压后的文件移动到一个固定路径下,作为客户端,仅保留以下内容。

按照上述内容,配置号frpc.ini后,需要启动服务端和客户端
服务器端:进入frp文件夹内,运行
./frps -c frps.ini

windows客户端:同样的,进入frp的文件夹
frpc.exe -c frpc.ini

服务器端开放端口,使用firewall-cmd开放端口,要开放80,8000,还要在云服务器的控制台,安全组中配置出方向规则,要开放上述两个端口。此处笔者在开放本地部署端口时,想用其他的端口,比如说8085,而且在安全组增加这个端口,在实际操作中,云服务器上可以通过curl 0.0.0.0:8085请求到本地部署的Open-WebUI的内容,即页面的代码,但是你在本地用云服务器的公网ip:8085却请求不到Open-WebUI的页面。此时需注意。
然后我看有的说要在本地windows防火墙配置入站规则,设置一个3000,一个8085,但实际应用时,使用8085配置完入站规则,还是不行,然后使用80端口成功后,我将原先配置的入站规则删除之后,本地依然能通过服务器公网ip直接访问。
ps:须配置出站规则
最终实现效果,通过服务器公网ip成功访问本地部署的服务。

更多推荐
所有评论(0)