docker安装frp

耗尽温柔 提交于 2019-12-24 10:51:42

前提:需要有一台已备案域名的云服务器

一. 服务端

源码地址 https://github.com/fatedier/frp

docker镜像地址 https://github.com/snowdreamtech/frp?spm=a2c4e.10696291.0.0.4a5619a4SqlVwU

1.1 创建frp的默认配置文件

[root@master ~]# mkdir -p ~/i/apps/frp && cd ~/i/apps/frp
[root@master frp]# cat <<EOF> frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
vhost_https_port = 8081
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = www19930327
EOF

http使用8080端口,https使用8081端口

1.2 创建启动脚本

[root@wanfei frp]# cat <<EOF> start.sh
#!/bin/bash
FRP_DIR=`pwd`
docker stop frps
docker rm frps
docker run -d \\
    --restart always \\
    --network host \\
    --name frps \\
    -v \${FRP_DIR}/frps.ini:/etc/frp/frps.ini \\
    snowdreamtech/frps
EOF

1.3 启动

[root@wanfei frp]# sh start.sh 
ipsec-vpn-server
ipsec-vpn-server
e7665f1a3c9a721b2a338b0eb67944fa3461d1c2f57934de9fda76ed28fc21f6

1.4 服务端执行成功

[root@master frp]# docker ps -a | grep frp
58ec73dba13e        snowdreamtech/frps                         "/bin/sh -c '/usr/bi…"   12 seconds ago      Up 11 seconds                                  frps

浏览器测试
在这里插入图片描述
dashboard
在这里插入图片描述
在这里插入图片描述

二. 客户端

2.1 win10客户端http访问web 内网服务

2.1.1 下载

下载客户端 https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_windows_amd64.zip

解压之后,移到D
在这里插入图片描述

2.1.2 修改frpc.ini配置文件
[common]
server_addr = 公网ip
server_port = 7000

[web]
type = http
local_port = 9999
custom_domains = frp.wanfei.wang

9999:是我本地跑的服务的端口

2.1.4 运行客户端

新建一个txt文件,修改为bat脚本

d:
cd ruanJian\frp
frpc

在这里插入图片描述
双击
在这里插入图片描述
浏览器查看web服务
在这里插入图片描述

2.2 Linux客户端http访问内网web 服务

使用win10安装的Docker Toolbok演示,这里可以不用域名

2.2.1 新建配置frpc.ini文件
mkdir -p ~/i/apps/frpc && cd ~/i/apps/frpc

cat <<EOF> frpc.ini
[common]
server_addr = 公网ip
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 5050
remote_port = 5050
EOF
  • 5050端口是下面安装的gogs测试的端口,remote_port端口也必须是5050
  • 如果想使用ssh连接内网服务器,local_port = 22remote_port = 6000
2.2.2 创建启动脚本
cat <<EOF> start.sh
#!/bin/bash
FRP_DIR=`pwd`
docker stop frpc
docker rm frpc
docker run -d \\
    --restart always \\
    --network host \\
    --name frpc \\
    -v \${FRP_DIR}/frpc.ini:/etc/frp/frpc.ini \\
    snowdreamtech/frpc
EOF
2.2.3 启动
sh start.sh 
2.2.4 安装gogs测试
docker run -d -p 10022:22 -p 5050:3000 --name=gogs -v /opt/docker/gogs/:/data gogs/gogs

直接访问公网ip : 5050
在这里插入图片描述

2.3 申请SSL证书

要想使用https内网穿透,必须要有ssl证书,下面申请免费的ssl证书,证书生效期30天,即将到期会邮件通知,重新创建

地址 https://www.sslforfree.com/

先点击右上角的login,注册一下账号
在这里插入图片描述
点击创建一个证书
在这里插入图片描述
选择DNS(最简单的方法)
在这里插入图片描述
在这里插入图片描述
下面是微信小程序添加域名解析(我的域名是从腾讯买的,腾讯的域名解析是在小程序上添加的)
在这里插入图片描述
在这里插入图片描述
等一会儿点击下面的两个链接验证,下面的说明验证成功
在这里插入图片描述
然后点击下载证书
在这里插入图片描述
点击下载
在这里插入图片描述
为了避免部分浏览器出现 证书链长度为1 的不安全提示, 需要将 ca_bundle.crt 的内容复制到 certificate.crt 后面, 得到新的 certificate.crt

2.4 win10 https访问内网web服务

2.4.1 移动两个证书文件到frp根目录

在这里插入图片描述

2.4.2 修改frpc.ini
[common]
server_addr = 公网ip
server_port = 7000

[test_htts2http]
type = https
custom_domains = frp.wanfei.wang

plugin = https2http
plugin_local_addr = 127.0.0.1:9999

# HTTPS 证书相关的配置
plugin_crt_path = ./certificate.crt
plugin_key_path = ./private.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp
2.4.3 执行bat运行

访问子域名:8081访问web服务
在这里插入图片描述
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!