banner
约 300 字
1 分钟

使用frp实现内网穿透,通过域名访问本地服务

-
无标签

TailscaleZeroTier相比,此方式无需安装客户端,可以通过域名直接访问内网服务。 需要有一个公网ip的服务器,消耗服务器流量,连接速度取决于公网服务器的网速。

公网服务器安装frps服务

[!NOTE] 说明 1Panel 、飞牛os、宝塔等可以在应用商店中安装,操作方法基本相同。

  1. 应用商店中搜索并安装frps应用,并进入安装目录

blog image
blog image
  1. 编辑.env文件

blog image
blog image
纯文本
CONTAINER_NAME="1Panel-frps-Nzx7"
CPUS=0
MEMORY_LIMIT=0
PANEL_APP_PORT_HTTP=7500   #后台端口
PANEL_APP_PORT_SERVICE=7000  #服务端口
PASSWORD="后台密码"
USER_NAME="后台用户名"
  1. 编辑frps.toml文件

blog image
blog image
纯文本
bindAddr = "0.0.0.0"
bindPort = 7000

auth.method = "token"
auth.token = "token123456"

webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "用户名"
webServer.password = "密码"

本地服务器安装frpc服务

  1. 应用商店中搜索并安装frpc应用,并打开后台

blog image
blog image
  1. 后台配置需要穿透的服务

blog image
blog image

[!NOTE] 配置 以ssh服务和nextcloud服务为例,本地端口分别是22和2380

blog image
blog image
纯文本
serverAddr = "168.138.215.235" #公网服务器ip
serverPort = 7000

auth.method = "token"
auth.token = "token123456"

webServer.addr = "0.0.0.0"
webServer.port = 7400
webServer.user = "后台用户名"
webServer.password = "密码"
webServer.pprofEnable = false

[[proxies]]
name = "ssh"   #ssh服务
type = "tcp"
localIP = "127.0.0.1"  #本地ip
localPort = 22  #本地端口
remotePort = 222  #远程端口

[[proxies]]
name = "nextcloud"  #nextcloud服务
type = "tcp"
localIP = "127.0.0.1"
localPort = 2380   #本地端口
remotePort = 6001   #远程端口

[[proxies]]
name = "onlyoffice"
type = "tcp"
localIP = "127.0.0.1"
localPort = 2280
remotePort = 6002

[[proxies]]
name = "joplin"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22300
remotePort = 6003
  1. 重启frp服务,查看运行情况

frpc端

blog image
blog image

frps端

blog image
blog image
  1. 公网ip+远程端口访问本地服务

blog image
blog image

配置反向代理实现域名访问本地服务

  1. 将公网ip解析到域名上

blog image
blog image
  1. 公网服务器安装nginx-proxy-manager

    blog image
    blog image
  2. 配置反向代理

    blog image
    blog image

4.申请ssl证书

blog image
blog image

5. 配置完成,通过域名访问服务

blog image
blog image

效果如下

blog image
blog image
END

相关文章

暂无相关文章