文章目录
-
- 背景
- 技术列表
- 方案
-
- frp
- winsw
- 具体实施
-
- 服务端
- 客户端
- 添加windows服务
- 总结
背景
之前对内 穿透一无所知,后来听到这个名词,才发现内 穿透的魅力。什么是内 穿透 穿透就是让外 电脑能够找到处于内 的电脑,从而相互通信。最常用的例子就是让外 可以访问你内 的web服务。
本篇文章就完整地教大家如何在环境下实现,并且。看完该教程,你仅需要一个域名,就可以把自己内 机子上的web服务改成外 可访问,而无需布在服务器上。
技术列表
完成该教程的全部内容,你需要准备以下环境:
- 下载windows版的frp压缩包,下载地址
- 下载winsw,下载地址
- 一台服务器(云服务器)
- 一个备案的域名
方案
frp
是一个可用于内 穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。github说明书
winsw
is an executable binary, which can be used to wrap and manage a custom process as a Windows service. Once you download the installation package, you can rename winsw.exe to any name, e.g. myService.exe.
这就是一个方便地部署服务的windows软件而已,简单实用。
具体实施
服务端
首先,解压下载了的frp压缩包,最新的是frp_0.31.1_windows_amd64.zip,里面有两类文件,一类是frps开头的,另一个是frpc开头的。frps是服务端的文件,frpc是客户端的文件。
我们把frps.exe和frps.ini拷贝到你的服务器中,然后,我们修改frps.ini的文件内容,改为如下:
bind_port:服务端的端口
vhost_http_port:外 的映射端口,只能设置一个,支持http和https
subdomain_host:你的一级域名
dashboard_user:服务仪表盘页面用户名
dashboard_pwd:服务仪表盘页面密码
dashboard_port:服务仪表盘页面端口
然后,我们在命令行切换到frps所在的文件夹目录下,执行
如果没有 错,说明服务端配置成功。
你需要把服务端的7000、7500和8080端口打开。具体做法就是打开防火墙=》高级=》入站规则=》添加=》选择特定端口,按要求操作即可。
客户端
我们把frpc.exe和frpc.ini拷贝到一个文件夹下,修改frpc.ini文件的内容:
local_ip:本地web服务IP
subdomain:二级域名,通过访问http://二级域名.一级域名:服务端端口,访问服务。例如:
http://test1.domain.com:8080可以访问内 test1对应的端口服务(80)
http://test2.domain.com:8080可以访问内 test2对应的端口服务(81)
配置好后,我们执行以下命令:
如果没有 错,说明配置成功。
二级域名需要解析,腾讯云的解析方法是:

主机记录输入二级域名,记录值输入服务器IP。
添加windows服务
服务端命令行一直开着没什么问题,但是内 客户端的机子开个窗口很不方便,我们可以添加一个windows服务,设置为开机自启动。通过winsw可以很方便添加一个服务。
我们把下载的winsw加压后,可执行文件(exe)和配置文件(xml)统一改名为winsw.exe和winsw.xml。
我们修改xml的内容:
我们把winsw.exe和winsw.xml放到frpc.exe同一个文件夹下。执行以下命令:
即可添加服务,并且开机自启动。
总结
通过本篇教程,我们实现了多个二级域名的内 穿透,不出意外,你应该可以在外 访问你在内 部署的 站,不过也许你需要把你的内 代码做调整,把url都替换成外 访问的地址,如果你有配置文件,那么应该操作会简单很多。
大年初一,一篇教程给大家拜年啦!祝大家新年快乐,身体健康。
文章知识点与官方知识档案匹配,可进一步学习相关知识 络技能树首页概览22540 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!