LanProxys是一个开源的内网穿透服务,通过该服务你能够很方便的实现内网穿透,使得内网机器也能很轻松的在公网访问。
前段时间负责了微信公众平台的开发,开发公众号的时候需要一个域名(其实公网ip也行),微信公众号这个后期单独开个文章说,这里单纯讲讲如何搭建内网穿透服务。
我这里用的Docker构建相关服务,多次使用后,我想说Docker大法果然好!
- 安装服务(服务器端)
安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
docker run hello-world
镜像加速
vim /etc/docker/daemon.json
添加如下内容
{"registry-mirrors": ["http://hub-mirror.c.163.com"]}
安装LanProxy
git clone https://github.com/fengqiangboy/lanproxy-docker.git lanproxy-docker
cd lanproxy-docker
#授予运行权限
chmod u+x run_container.sh
#编辑一下配置文件
vim proxy-server-0.1/conf/config.properties
编辑一下配置文件,主要是修改后台访问的IP端口和帐号密码。
增加容器端口映射
#增加8090端口
vim run_container.sh
#编译容器
./build_container.sh
#运行容器
run_container.sh
安装Nginx
#拉取nginx镜像
docker pull nginx
配置nginx
cd /
# 创建主目录
mkdir dockerData
# 创建文件
mkdir -p dockerData/nginx dockerData/nginx/conf dockerData/nginx/logs dockerData/nginx/www dockerData/nginx/ssl
dockerData/nginx
用于存放 docker 下 nginx 自定义文件dockerData/nginx/conf
存放 nginx 配置文件dockerData/nginx/log
存放 nginx 日志文件dockerData/nginx/www
存放 nginx 访问的资源文件dockerData/nginx/ssl
存放 ssl 证书
导出配置文件
#临时运行nginx
docker run --name nginx -p 80:80 -d --rm nginx
#导出主配置文件 nginx.conf
docker cp nginx:/etc/nginx/nginx.conf /dockerData/nginx/conf/nginx.conf
#导出配置文件目录
docker cp nginx:/etc/nginx/conf.d /dockerData/nginx/conf
docker stop nginx
ngxinx启动
docker run -d -p 80:80 --name nginx \
-v /dockerData/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /dockerData/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /dockerData/nginx/www:/usr/share/nginx/html \
-v /dockerData/nginx/logs:/var/log/nginx nginx
配置穿透后台转发
此时需要两个子域名,没有子域名可以使用ip+端口的模式代替,下面演示有域名的方式。
先在域名服务商处配置好两个域名:
hd.caiqz.cn #用于后台登录
oa.caiqz.cn #通过该域名访问被转发的服务
配置后台入口的转发
cd /dockerData/nginx/conf/conf.d/
cp default.conf hd.caiqz.cn
vim hd.caiqz.cn
注意:docker环境下127.0.0.1需要换成公网ip或者主机内网ip,下面配置穿透客户端的时候也是一样!
在浏览器输入hd.caiqz.cn登录,并配置一个客户端
配置该客户端
其中名称随意
公网端口,即lanproxy服务端的端口
后台IP端口,指客户端需要映射的服务的IP及端口
配置OA转发
cp default.conf oa.caiqz.cn
vim oa.caiqz.cn
docker restart nginx
至此服务端配置完毕
客户端配置
客户端指的是需要被映射服务的主机,客户端同时支持linux及Windows。
linux环境下
#下载客户端
wget http://file.caiqz.cn/Development/network/proxy-java-client-0.1.zip
unzip proxy-java-client-0.1.zip
修改配置
cd proxy-java-client-0.1/conf
vim config.properties
#密匙
client.key=017b780sz8fes47a78252sesscefee0f
ssl.enable=false
ssl.jksPath=test.jks
ssl.keyStorePassword=123456
server.host=穿透服务器的公网ip
#default ssl port is 4993
server.port=4900
运行客户端
cd proxy-java-client-0.1/bin
chmod u+x *
./startup.sh
搭建完毕!
标题:利用LanProxy+Nginx搭建内网穿透,跟花生壳说再见吧!
作者:openshell
地址:http://solo.caiqz.cn/articles/2019/10/28/636.html