docker搭建lanproxy内网穿透服务
一. 服务端
使用条件:阿里云服务器,有公网id,有备案的域名
1.1 安装docker
https://blog.csdn.net/qq_38983728/article/details/85161510
1.2 安装nginx
https://blog.csdn.net/qq_38983728/article/details/96917368
1.3 域名解析
添加两个子域名解析到服务器
- 用来访问我们的
lanproxy
后台 - 用来访问我们需要内网穿透的服务
1.4 安装lanproxy-server
[root@wanfei apps]# mkdir -p ~/i/apps/lanproxy/config-data && cd ~/i/apps/lanproxy/
cat <<EOF > start.sh
#!/bin/bash
LANPROXY_DIR=`pwd`
docker stop lanproxy-server
docker rm lanproxy-server
docker run -d \\
--name lanproxy-server \\
-p 8090:8090 \\
-p 4900:4900 \\
-p 4993:4993 \\
-p 9000-9100:9000-9100 \\
--restart=always \\
-e LANPROXY_USERNAME="admin" \\
-e LANPROXY_PASSWORD="admin" \\
-v \${LANPROXY_DIR}/config-data:/root/.lanproxy \
franklin5/lanproxy-server
EOF
[root@wanfei lanproxy]# ls
config-data start.sh
[root@wanfei lanproxy]# sh start.sh
Error response from daemon: No such container: lanproxy-server
Error: No such container: lanproxy-server
24e28987d1eaf0e2365040d2d39c8b2cefdafa208a88f4323db4e5f9094d9d71
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
登录
1.5 配置nginx
反向代理
注意:nginx在docker中,不能使用
127.0.0.1:8090
来访问宿主机里的lanproxy-server
服务,docker内部实际上实现了一个虚拟网桥docker0,所以要通过宿主机内网地址(172.16.196.119)来访问.
[root@wanfei conf.d]# cd ~/i/apps/nginx/conf.d/
[root@wanfei conf.d]# ls
default.conf
# 服务端反向代理
[root@wanfei conf.d]# vi lanproxy.wanfei.xyz.conf
# 复制
server {
listen 80;
# 这里使用自己的域名
server_name lanproxy.wanfei.xyz;
charset utf-8;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
# 这里根据你的lanproxy配置,改成 config.server.port的值
proxy_pass http://172.16.196.119:8090;
client_max_body_size 35m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
# 客户端反向代理centos7(一个公网端口只能映射一个后端信息,不能重复: 9000)
[root@wanfei conf.d]# vi test.wanfei.xyz.conf
# 复制
server {
listen 80;
# 这里使用自己的域名
server_name test.wanfei.xyz;
charset utf-8;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
# 这里根据你的lanproxy配置,改成 外网接口 的值,在lanproxy后台网页上配置,后面配置
proxy_pass http://172.16.196.119:9000;
client_max_body_size 35m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
# 客户端反向代理win10(一个公网端口只能映射一个后端信息,不能重复: 9000)
[root@wanfei conf.d]# vi win.wanfei.xyz.conf
# 复制
server {
listen 80;
# 这里使用自己的域名
server_name win.wanfei.xyz;
charset utf-8;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
# 这里根据你的lanproxy配置,改成 外网接口 的值,在lanproxy后台网页上配置,后面配置
proxy_pass http://172.16.196.119:9001;
client_max_body_size 35m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
[root@wanfei nginx]# sh start.sh
mynginx
mynginx
9fab7128621ae456e15ab2e612c8534b175c211fc28a2ce0f85d485d6d272542
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
1.6 继续配置 lanproxy 后台服务
- 添加一个客户端
- 添加配置
二. 客户端
2.1 客户端是centos7
1. 使用docker
运行lanproxy-client
[root@master ~]# mkdir -p ~/i/apps/lanproxy-client/ && cd ~/i/apps/lanproxy-client/
cat <<EOF > start.sh
#!/bin/bash
docker stop lanproxy-client
docker rm lanproxy-client
docker run -d \\
--name lanproxy-client \\
-e LANPROXY_KEY="input_your_key" \\
-e LANPROXY_HOST="input_your_host" \\
--restart=always \\
franklin5/lanproxy-client
EOF
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
参数说明
input_your_key
:这里是在 lanproxy 后台配置的密钥
input_your_host
:服务器的 ip,支持域名,是阿里云的服务器公网ip,或者域名
2. 安装gogs测试
docker run -d -p 10022:22 -p 5050:3000 --name=gogs -v /opt/docker/gogs/:/data gogs/gogs
- 1
- 直接在内网访问虚拟机
- 外网访问
test.wanfei.xyz
也成功
2.2 客户端是win10
1. lanproxy-server网页添加客户端
2. 下载源码并修改配置启动客户端
github源码页面https://github.com/ffay/lanproxy
github源码下载https://github.com/ffay/lanproxy.git
- 修改
lanproxy-client
配置
参数说明
client.key
:这里是在 lanproxy 后台配置的密钥
server.host
:服务器的 ip,支持域名,是阿里云的服务器公网ip,或者域名
clean
&&install
后发现多了distribution
文件夹- 启动客户端
我用的是双击
startup.bat
启动,启动成功后没有输出
3. lanproxy-server网页添加配置
4. 验证连接成功
5. idea
运行本地项目,端口是60100
6. 测试
- 内网访问
- 外网访问
http://win.wanfei.xyz/relatedtransactions/doc.html
成功
文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树服务网格(istio)ServiceMesh介绍5804 人正在系统学习中