LanProxy 内网映射
描述
有时候会需要把内网映射到公网,让外网能访问到。比如微信公众号的开发等。可使用的工具有花生壳、cpolar、Ngrok等。
本文案例使用的是LanProxy。该工具是开源免费的,但是需要有公网服务器,通过把 LanProxy 服务端部署在云服务器中,客户端在需要内网映射的电脑中启动即可。
下载与安装
下载服务端、客户端工具
配置服务端
在云服务器中上传 服务端 安装包,解压之后即可得到
proxy-server-0.1
配置
conf/config.properties
,并./bin/startup.sh
启动服务端1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18server.bind=0.0.0.0
# 客户端连接端口为:4900
server.port=4900
server.ssl.enable=false
server.ssl.bind=0.0.0.0
server.ssl.port=4993
server.ssl.jksPath=test.jks
server.ssl.keyStorePassword=123456
server.ssl.keyManagerPassword=123456
server.ssl.needsClientAuth=false
config.server.bind=0.0.0.0
# 前端配置地址为:8090
config.server.port=8090
# 登录服务端的用户名、密码
config.admin.username=root
config.admin.password=123456注意:阿里云服务器需要在服务器安全组中把 4900,12001-12005 端口开放
1
2
3
4
5
6
7// 如果开启了防火墙, 则需要把 4900 端口开放
// 查看开放的端口
firewall-cmd --list-ports
// 开放端口
firewall-cmd --zone=public --add-port=4900/tcp --permanent
// 使配置生效
firewall-cmd --reload配置 Nginx
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
34upstream proxy-server {
server localhost:8090;
}
server {
listen 80;
server_name test-proxy.muycode.com;
# 后端服务
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://proxy-server;
}
}
server {
listen 80;
server_name test-proxy-1.muycode.com;
# 后端服务
location / {
proxy_pass http://localhost:12001;
proxy_set_header x-forwarded-for $remote_addr;
}
}
server {
listen 80;
server_name test-proxy-2.muycode.com;
# 后端服务
location / {
proxy_pass http://localhost:12002;
proxy_set_header x-forwarded-for $remote_addr;
}
}访问服务端,进行端口配置
http://test-proxy.muycode.com/lanproxy-config/
以上服务端已配置完成。
配置客户端
配置 conf/config.properties
,并bin/startup.bat
启动客户端
1 | # 对应服务端配置的密钥 |
启动客户端之后,在服务端中的 客户端列表
看到状态为在线表示配置正确。
测试内网映射
在本地启动一个端口为
8777
的服务(这里用的是 Nginx),访问http://localhost:8777/
,可以正常访问通过公网访问
test-proxy-1.muycode.com
,如果与上面页面一样,则说明内网已经被映射到公网中,到此配置完成。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 颜不喜!