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

与Tailscale或ZeroTier相比，此方式无需安装客户端，可以通过域名直接访问内网服务。需要有一个公网ip的服务器，消耗服务器流量，连接速度取决于公网服务器的网速。公网服务器安装frps服务说明 1Panel 、飞牛os、宝塔等可以在应用商店中安装，操作方法基本相同。应用商店中搜索并安装frps应用，并进入安装目录编辑.env文件 CONTAINER_NAME="1Panel-frps-Nzx7" CPUS=0 MEMORY_LIMIT=0 PANEL_APP_PORT_HTTP=7500 #后台端口 PANEL_APP_PORT_SERVICE=7000 #服务端口 PASSWORD="后台密码" USER_NAME="后台用户名" 编辑frps.toml文件 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服务应用商店中搜索并安装frpc应用，并打开后台后台配置需要穿透的服务配置以ssh服务和nextcloud服务为例，本地端口分别是22和2380 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 重启frp服务，查看运行情况 frpc端 frps端 4. 公网ip+远程端口访问本地服务配置反向代理实现域名访问本地服务将公网ip解析到域名上公网服务器安装nginx-proxy-manager 配置反向代理 4.申请ssl证书配置完成，通过域名访问服务效果如下