docker安装frp

docker安装frp

  • 一. 服务端
      • 1.1 创建frp的默认配置文件
      • 1.2 创建启动脚本
      • 1.3 启动
      • 1.4 服务端执行成功
  • 二. 客户端
      • 2.1 win10客户端http访问web 内网服务
          • 2.1.1 下载
          • 2.1.2 修改`frpc.ini`配置文件
          • 2.1.4 运行客户端
      • 2.2 Linux客户端http访问内网web 服务
          • 2.2.1 新建配置`frpc.ini`文件
          • 2.2.2 创建启动脚本
          • 2.2.3 启动
          • 2.2.4 安装gogs测试
      • 2.3 Linux客户端远程连接IP + Port
          • 2.3.1 新建配置`frpc.ini`文件
          • 2.2.2 创建启动脚本
          • 2.2.3 启动
      • 2.4 申请SSL证书
      • 2.5 win10 https访问内网web服务
          • 2.5.1 移动两个证书文件到`frp`根目录
          • 2.5.2 修改frpc.ini
          • 2.5.3 执行bat运行

前提:需要有一台云服务器和一个域名,域名添加解析到该服务器公网ip

一. 服务端

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

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

1.1 创建frp的默认配置文件

mkdir -p /root/i/docker/frp && cd /root/i/docker/frp

cat < 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 < 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

--network host: host 网络模式,所有容器端口都对应属主机端口,不存在映射关系。端口不能被占用,如果端口已经被使用过,可以修改或者不使用host网络模式,使用-p 8082:8080指定宿主机端口映射到容器端口

1.3 启动

[root@wanfei frp]# sh start.sh 
ipsec--server
ipsec--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

浏览器测试
docker安装frp_第1张图片
dashboard
docker安装frp_第2张图片
docker安装frp_第3张图片

二. 客户端

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
docker安装frp_第4张图片

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脚本

cd /d %~dp0
frpc
  • cd /d %~dp0: 进入当前目录

docker安装frp_第5张图片
双击
docker安装frp_第6张图片
浏览器查看web服务
docker安装frp_第7张图片

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

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

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

cat < 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 < 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
docker安装frp_第8张图片

2.3 Linux客户端远程连接IP + Port

2.3.1 新建配置frpc.ini文件
mkdir -p /root/i/docker/frpc && cd /root/i/docker/frpc

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

[local]
type = tcp
local_ip = 127.0.0.1
# 本地服务的端口
local_port = 8080
# 远程服务端开启的端口,外网访问
remote_port = 32384
EOF
2.2.2 创建启动脚本
cat < 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.4 申请SSL证书

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

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

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

2.5 win10 https访问内网web服务

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

docker安装frp_第17张图片

2.5.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.5.3 执行bat运行

访问子域名:8081访问web服务
docker安装frp_第18张图片
docker安装frp_第19张图片

你可能感兴趣的:(Docker安装软件,docker,容器,运维)