frp+docker内网穿透安装配置

这篇具有很好参考价值的文章主要介绍了frp+docker内网穿透安装配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

frp是一个优秀的内网穿透服务,曾试过用ngrok做内网穿透,但用docker还比较麻烦,还需要自己编译ngrok客户端进行分发才能使用,折腾了一阵子就没搞了。frp早闻大名,趁有空尝试下,还是比较方便的,只需要写好配置文件,启动就完事了
frp官方文档
frp github
docker-frps
docker-frpc

准备

1.云服务器或具有公网IP的服务器,用于安装frp服务端(frps)
2.需要内网穿透的服务器,如树莓派,将安装frp客户端(frpc)
3.上述1和2的服务器均安装好docker

frp服务端(frps)

创建frp服务端配置文件/data/frp/frps.ini,根据自己实际情况修改路径

mkdir /data/frp/frps.ini
cd /data/frp/
nano frps.ini
frps.ini
[common]
# 服务器开放给客户端的frp端口
bind_port = 7000
# http端口
vhost_http_port = 8080
# https端口
vhost_https_port = 8081
dashboard_addr = 0.0.0.0
# 控制面板端口,用户名,密码
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = yourpassword
# 自己用于frp服务的域名
subdomain_host = frp.yourdomain.com
# frps服务token,拥有此token的客户端才允许连接
token = yourfrptoken

bind_port 为必须设置,其余设置可根据需要进行取舍
设置token可防止任何用户连接自己的frp服务端,相应地,客户端的配置文件也需要设置相同的token才能连接,如自己的frp服务开放给任何用户,可不设置
subdomain_host设置frp服务的域名,使客户端可从*.frp.yourdomain.com访问服务,若客户端无子域名要求,可不设置

拉取frp服务端镜像

docker pull snowdreamtech/frps

运行docker

docker run --restart=always --network host -d -v /data/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps

搞定,去服务器IP:7500,输入账号密码,就可以看到dashboard页面了
frp+docker内网穿透安装配置

frp客户端(frpc)

客户端就比较灵活了,可以去frp的release下载编译好的文件,也可以跑在docker中,重点还是配置文件的内容

frpc.ini
[common]
# frps服务器地址,可用域名,即服务端的frp.yourdomain.com
server_addr = 666.666.666.666
# 上面frps.ini配置的端口
server_port = 7000
# frps服务token
token = yourfrptoken

[tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 8000
remote_port = 9876

[web]
type = http
local_port = 8000
custom_domains = yourdomain

相关说明:

  • 以上演示了一个TCP类型和HTTP类型的代理,[xxx]中可随意填写,仅代表该代理的name,名称不可重复

  • 云服务器IP假设为666.666.666.666

  • TCP代理一般用于监听22端口来进行SSH,在上面的例子中,内网的8000端口跑了个服务,因此可用666.666.666.666:9876或则域名:9876来访问到内网8000端口的服务。如果改成local_port = 22,就可以ssh -oPort=9876 test@x.x.x.xSSH内网服务器了

  • HTTP代理的例子中,需要指定域名,可通过域名:8080来访问内网8000端口的服务,但不可通过666.666.666.666:8080来访问,为什么是8080呢?因为在上面的frps.ini中配置了vhost_http_port = 8080。如果服务端frps.ini设置了subdomain_host,该例中custom_domains = yourdomain可改为subdomain=myweb,此时就可通过子域名,myweb.frp.yourdomian.com:8080来访问服务,注意,子域名只能向下一级,不可subdomain=sub.myweb,会报错

运行客户端

写好配置文件后,可根据实际,运行编译版程序,或者运行docker版程序

编译版

从github下载对应平台编译好的文件,解压好,修改frpc.ini,运行即可,注意windows版要打开cmd运行

docker

拉取客户端镜像

docker pull snowdreamtech/frpc

创建/data/frp/frpc.ini,写好配置文件,运行即可

docker run --restart=always --network host -itd -v /data/frp/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc

其他配置

客户端的管理页面

除了上面的服务端(frps)有dashboard,客户端(frpc)也有自己的管理页面,方便客户端随时更新配置文件,不用每次都要进服务器才能修改
因此仅需要在客户端frpc.ini添加下面内容即可

# frpc.ini
[common]
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin
#打开浏览器通过 http://127.0.0.1:7400 访问 Admin UI
#如果想要在外网环境访问 Admin UI,可以将 7400 端口通过 frp 映射出去即可,但需要重视安全风险
#用tcp的方式,外网可用frp.yourdomain.com:7400访问
[admin_ui]
type = tcp
local_port = 7400
remote_port = 7400
#也可用http的方式,外网可用frp-admin.frp.yourdomain.com:8080访问(注意和tcp方式端口区别)
[admin_ui_http]
type = http
local_port = 7400
subdomain = frp-admin

官方文档写的就是用tcp的方式访问,当然用http也是可以的,二选一即可
重启,就可以访问客户端的管理页面了
frp+docker内网穿透安装配置

去掉端口号访问

每次访问内网服务都要加端口号*.frp.yourdomian.com:8080还是挺烦的,要去掉端口号,只需要在服务端的nginx加一个配置项,即匹配监听自己frp子域名的80端口,转发到frp的8080端口,然后就可以愉快地不带端口访问内网服务了~(前提是域名备案了哈,云服务器没有备案是用不了80端口的)

server {
     listen	  80;
     server_name  *.frp.yourdomain.cn frp.yourdomain.cn;
     location / {
             proxy_redirect off;
             proxy_set_header Host $http_host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://127.0.0.1:8080;
     }
}

如果服务端使用的是云服务器,有的云服务器填proxy_pass http://127.0.0.1:8080;会不生效,这个时候去要查一下云服务的内网地址填上就可以了文章来源地址https://www.toymoban.com/news/detail-439556.html

到了这里,关于frp+docker内网穿透安装配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 群晖NAS配置之自有服务器frp实现内网穿透

    frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。今天跟大家分享一下frp实现内网穿透 通过在具有公网 IP 的节点上部署 frp 服务端,可以轻

    2024年02月04日
    浏览(53)
  • FRP内网穿透参数配置+服务器与客户端的简易配置+完整配置详解(Windows)

    有设备A,想访问处于局域网的设备C时,可以通过处在公网的设备B进行转发 前提条件:一个有公网IP的电脑,云服务器、有公网IPV4/6的设备均可,如果使用ipv6模式,那么设备BC都必须支持ipv6才行,ipv6地址除了bind_addr和server_addr,都要用[]括起来 本文基于:v0.48.0版本 官网: 官

    2024年02月05日
    浏览(52)
  • frp内网穿透开启Dashboard互联网https访问toml配置

    本文提供一份详尽的指南,介绍如何配置FRP内网穿透服务,通过toml配置文件开启Dashboard的互联网HTTPS访问。

    2024年04月15日
    浏览(43)
  • 内网穿透!如何配置frp新版0.56.0的配置文件.toml:提供web、samba、ssh远程连接示例

    最新版本的frp在配置上与之前有很大不同,需要使用.toml文件进行配置。其中主要问题出现在toml文件内部。因此,本文将专门讨论这个问题。 下载并解压(以debian系统为例): 注意版本:服务系统版本(linux、windows)、硬件CPU版本(arm、amd等)对应的不是相同的文件。 配置

    2024年04月09日
    浏览(39)
  • frp内网穿透保姆级配置流程,让客户端电脑可以通过域名或者IP访问本地程序接口

    下载地址:https://github.com/fatedier/frp/releases 1、server_addr中的IP是个人云服器的IP 2、custom_domains是可以使用域名访问 3、adtech.test.link.???.com的域名解析ip是124.221.248.68,这样配置后相当于,adtech.test.link.???.com访问443端口或者8081端口时,就会被转发到客户端 4、frpc.ini是客户端配置文

    2024年02月07日
    浏览(48)
  • Ubuntu Server 20.04 系统安装(六):Linux搭建frp服务,实现内网穿透服务,实现外网到内网的在线访问 Ubuntu 设置frp开机自启动

    frp 是什么? frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。 frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    2024年02月13日
    浏览(49)
  • 内网穿透-Frp(1)使用樱花Frp(Sakura Frp)进行免费的内网穿透操作步骤

    背景介绍:因需要在4G路由器(openwrt,mips架构)上提高页面和视频流展示,需要在公网能访问的,问题:4G卡不能固定IP,所以没办法使用公网+端口映射方式进行;故采取内网穿透frp方式进行公网访问,frp需要跳板机(server端);樱花支持mips架构;经测试成功;故记录供学习参考

    2024年02月05日
    浏览(45)
  • Ubuntu Server 20.04 系统安装(六):Linux搭建frp服务,实现内网穿透服务,实现外网到内网的在线访问

    frp 是什么? frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。 frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    2024年01月17日
    浏览(53)
  • frp内网穿透搭建

    为什么需要内网穿透功能? 从公网中访问自己的私有设备向来都是一件难事。自己的台式机、NAS等等设备,它们可能处于路由器后,或者运营商因为IP地址短缺不给你分配公网IP地址。果我们想直接访问这些设备(远程桌面、远程文件、SSH等等),一般来说要通过一些转发或

    2024年02月03日
    浏览(46)
  • frp内网穿透

     1.首先frp分客户端和服务端,frp客户端和服务端在同一个局域网。  2.frp服务端拥有公网ip与互联网连通。 frp的作用:      通过一台公司拥有外网ip的服务器做为frp服务端,通过请求转发的形式,转发到公司局域网内的服务器(frp客户端),达到实现通过互联网访问局域网

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包