你们好我是不同的科技宅,天天进步一点点,体验不同的生活。今天给你们带来的是用 frp 搭建属于本身的内网穿透,方便在咱们平常的开发中进行调试。同时是 frp 是开源而且是免费的,只须要一台云服务器便可搭建。linux
Frp 是一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器公开到 Internet。 到目前为止,它支持 TCP 和 UDP 以及 HTTP 和 HTTPS 协议,在这些协议中,请求能够经过域名转发到内部服务。git
frp 还具备 P2P 链接模式。github
以我本身的服务器 Centos 为例下载frp_linux_amd64shell
wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
tar -zxvf frp_0.31.1_linux_amd64.tar.gz
[root@VM_10_197_centos frp_0.31.1_linux_amd64] -rwxrwxr-x 1 1000 1000 10608640 1月 6 16:02 frpc -rw-rw-r-- 1 1000 1000 7447 1月 6 16:04 frpc_full.ini -rw-rw-r-- 1 1000 1000 126 1月 6 16:04 frpc.ini -rwxrwxr-x 1 1000 1000 11333632 1月 6 16:02 frps -rw-rw-r-- 1 1000 1000 2514 1月 6 16:04 frps_full.ini -rw-rw-r-- 1 1000 1000 26 1月 6 16:04 frps.ini -rw-rw-r-- 1 1000 1000 11358 1月 6 16:04 LICENSE drwxrwxr-x 2 1000 1000 4096 1月 6 16:04 systemd
rm -f frpc rm -f frpc.ini rm -f frpc_full.ini rm -f systemd/frpc.service rm -f systemd/frpc@.service
修改 frps.ini 文件,设置 http 访问端口为 8080vim
# frps.ini [common] bind_port = 7000 #服务启动占用端口 vhost_http_port = 8080 #进行转发端口
./frps -c ./frps.ini
vim systemd/frps.service
[Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=nobody Restart=on-failure RestartSec=5s # 这里须要根据frps的安装路径,进行更改 ExecStart=/home/frp/frps -c /home/frp/frps.ini [Install] WantedBy=multi-user.target
cp systemd/frps.service /etc/systemd/system/
注意:云服务器安全组以及防火墙须要开启对应的端口centos
# 启动测试 systemctl start frps.service # 查看启动状态 systemctl status frps.service # 中止 systemctl stop frps.service # 开机自启 systemctl enable frps.service
下载客户端并解压frp_darwin_amd64
过程能够参考服务端安装过程。安全
curl -O --insecure https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_darwin_amd64.tar.gz
rm -f frps rm -f frps.ini rm -f frps_full.ini rm -f systemd/frps.service rm -f systemd/frps@.service
vim frpc.ini
[common] server_addr = xxx.xxx.xxx.xxx(服务器公网ip) server_port = 7000 [web] type = http # 本地web服务端口 local_port = 9090 custom_domains = www.xxxxxx.com(自定义域名)
注意:自定义域名须要解析到对应的服务器 ip 不然没法正常使用服务器
./frpc -c ./frpc.ini
启动成功信息dom
2020/02/02 12:26:14 [I] [proxy_manager.go:144] [fd88aa5c4087afc9] proxy added: [web] 2020/02/02 12:26:14 [I] [control.go:164] [fd88aa5c4087afc9] [web] start proxy success
看到启动成功信息,这里就已经完成本地 web 服务进行内网穿透了。
咱们能够在任意位置访问咱们的本地 web 服务,经过访问http://www.xxxxxx.com:8080就能够达到访问http://localhost:9090的目的了。
为了安全起见咱们能够在进行链接时设置 token,当客户端和服务端 token 一致时才能够成功创建链接,添加方式只须要在服务端和客户端[common]下添加 token 配置便可:
# 认证token token = 12345678
开启 dashboard 只须要在服务端[common]添加如下配置便可,同时不要忘记对安全组开放端口。
dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin
访问地址:http://serverIp:7500
若是以为对你有帮助,能够多多评论,多多点赞哦,也能够到个人主页看看,说不定有你喜欢的文章,也能够随手点个关注哦,谢谢。