首页
归档
友链
关于
壁纸
直播
Search
1
电脑开机主板 CPU 故障灯亮,无法正常开关机
114 阅读
2
夏日小风扇,进来凉快一下叭!
61 阅读
3
破解 OpenWrite 微信导流
54 阅读
4
Windows11 5 月累计更新导致 .NET 无法使用
54 阅读
5
夏日小空调,进来凉快一下叭!
48 阅读
站点
好玩
其他
读书笔记
开发
登录
Search
标签搜索
总结
读书笔记
小工具
好玩分享
windows
Typecho
云空调
云风扇
github
git
Nginx
Firewall-cmd
Frp
VSCode
PowerShell
PC
SSH
JMeter
Redis
cdn
XiaoLu
累计撰写
37
篇文章
累计收到
3
条评论
首页
栏目
站点
好玩
其他
读书笔记
开发
页面
归档
友链
关于
壁纸
直播
搜索到
1
篇与
的结果
2022-02-24
Frp 内网穿透
{message type="info" content="文章写于 2020 年 4 月,可能与现在有差异,仅供参考。"/}在做 web或其他开发时,前期的后端服务是建在本地的,因此我们一般使用 localhost 来对本地服务进行调用,但是如果你的另外一个小伙伴也要调用你的本地服务要怎么办呢?因为我们个人的电脑是不具备公网 IP 地址的,这个时候就要用到内网穿透技术。准备工作使用内网穿透技术,需要准备的材料如下:{card-list}{card-list-item} 云服务器 这个是内网穿透的核心,没有它是不行的。它的作用是 “流量转发”,当地球某个角落的电脑对你的本地服务进行调用时,会先将请求发送到此服务器,然后服务器会转发到你的本地。{/card-list-item}{card-list-item} 一个域名 这个并不是必须的,但是有它的话会更有牌面。如果他人调用你本地服务时,输入:XXXX.com 是不是会比 123.124.125.126 显得高级一些。而且有了域名,会更好记一些,4 个 3位数可能你要记好久才能记得住。{/card-list-item}{card-list-item} 内网穿透工具 这个工具其实有很多,比较出名的有花生壳、ngork、frp、natapp 等,百度一下就会找到很多堆这样的工具。我用过花生壳、natapp 和 frp,其实道理都是一样的(至于原理是不是一样就不知道了),就是配置起来稍有些不同。{/card-list-item}{/card-list}这里说明一点:natapp、花生壳可提供免费的隧道,就是按照它官网上的文档,下载一个 exe 可执行文件就可以实现此功能,不用像我们现在这样动手操作。但是免费的隧道有个不好的地方:它的域名是动态的,意味着你每次打开 exe 连接至它的主服务器时,分配给你的域名(二级域名)是随机的,因此不如自己配置的舒服一些。下载穿透工具(frp)下载地址需要下载两份:windows环境 与 linux环境各一份(客户端与服务端)一般情况下,选择 frp_x.xx.x_windows_amd64.zip 与 frp_x.xx.x_linux_amd64.tar.gz 如果你的电脑或云服务器不是 amd64 的,可以酌情选择其他的压缩包。( x 代表版本号)建议各下各的,自己电脑就只下载 windows 的那个,服务器那个远程登录用 wget 去下载(右键-复制链接地址)。此工具是免安装的,下载完毕后,解压缩即可。至于 linux 版的压缩包,可以使用如下命令: tar -zxvf xxxxxx.tar.gz (xxxxxxx 替换为压缩包的名字)修改配置文件🍉 客户端文件配置 ( frpc.ini )[common] server_addr = server_port = token = [web] type = http local_ip = 127.0.0.1 local_port = custom_domains =这里进行几点说明:server_addr :云服务的公网 IP 地址(如 111.111.111.111) server_port:云服务的端口(如9277),记为 A token:这个相当于密码,和服务端的配置保持一致(如:hfh238h) local_ip:这个一般都是 127.0.0.1,不用修改 custom_domains:这个就是前面讲到的域名,如果有的话就填上,没有就算了🍉 服务端文件配置 (frps.ini)bind_port = 9277 vhost_http_port = 5000 token = 这里进行几点说明:bind_port: 服务开启时占用的端口(如9277),就是上面的 A vhost_http_port: 要转发的端口(如5000)记为 B token :和上面的 token 保持一致即可开启端口上面只是配置完了,如果没有开启防火墙的端口和云服务商的安全组,是不能访问的。🍁 打开云服务商的 ECS实例管理,在安全组那里选择添加规则。如果你找不到,就在上面的搜索栏里搜索 “安全组” 就可以了。此次开启端口需要开启两个,即为上面的 A 和 B🍁 不同云服务商的界面不一样,但是内容是相同的,需要填写的信息如下:端口 9277-9277 (第二次添加时:5000-5000)地址 0.0.0.0/0描述 写一些描述,自己填写就行🍁 命令行连接云服务器,开启防火墙端口,下面提供几条命令:firewall-cmd --state #查看防火墙状态 firewall-cmd --zone=public --add-port=80/tcp --permanent #80替换成 A 或 B firewall-cmd --reload #重新加载 firewall-cmd --list-services # 查看已开启的端口,用于检验 开启服务linux 服务端的命令如下:vim /lib/systemd/system/frps.service #建立系统服务 #然后粘贴一下内容,只需要把 ExecStart 那里的路径改一下(前后两个都改,-c 不动) [Unit] Description=frps service After=network.target syslog.target Wants=network.target [Service] Type=simple ExecStart=/opt/frp_0.31.1_linux_amd64/frps -c /opt/frp_0.31.1_linux_amd64/frps.ini [Install] WantedBy=multi-user.target systemctl start frps #开启服务windows 客户端的命令如下:# 首先新建一个 bat 文件,如 华为云.bat # 编辑 bat 文件为以下内容,rem 后面是输出的字符串,可以根据需要修改 set exePath=frpc set filePath=frpc1.ini rem ===Connecting Remote Server=== %exePath% -c %filePath% rem ===Connect Success !=== pause exit rem ===Bye Bye=== # 双击 bat 即可开启服务Tips上面搭的环境并不是最舒服的,如果装了 nginx 的话,B 端口是不需要开启的,想象一下用 nginx 做反向代理,同时还可以配置 SSL 证书。
2022年02月24日
14 阅读
0 评论
0 点赞