手把手教你在windows下frp内网穿透,访问内网服务不是梦

本文详细介绍如何使用frp在Windows环境下实现多个二级域名的内网穿透,包括服务端和客户端的配置,以及通过winsw实现服务的自启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

之前对内网穿透一无所知,后来听到这个名词,才发现内网穿透的魅力。什么是内网穿透?内网穿透就是让外网电脑能够找到处于内网的电脑,从而相互通信。最常用的例子就是让外网可以访问你内网的web服务。
本篇文章就完整地教大家如何在windows环境下实现多个二级域名的内网穿透,并且开机自启动该服务。看完该教程,你仅需要一个域名,就可以把自己内网机子上的web服务改成外网可访问,而无需布在服务器上。

技术列表

完成该教程的全部内容,你需要准备以下环境:

  1. 下载windows版的frp压缩包,下载地址
  2. 下载winsw,下载地址
  3. 一台服务器(云服务器)
  4. 一个备案的域名

方案

frp

frp是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。github说明书

winsw

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的文件内容,改为如下:

[common]
bind_port = 7000
vhost_http_port = 8080
subdomain_host = 一级域名

dashboard_user = 自定义
dashboard_pwd = 自定义
dashboard_port = 7500

注释
bind_port:服务端的端口
vhost_http_port:外网的映射端口,只能设置一个,支持http和https
subdomain_host:你的一级域名
dashboard_user:服务仪表盘页面用户名
dashboard_pwd:服务仪表盘页面密码
dashboard_port:服务仪表盘页面端口

然后,我们在命令行切换到frps所在的文件夹目录下,执行

frps.exe -c frps.ini

如果没有报错,说明服务端配置成功。

注意
你需要把服务端的7000、7500和8080端口打开。具体做法就是打开防火墙=》高级=》入站规则=》添加=》选择特定端口,按要求操作即可。

客户端

我们把frpc.exe和frpc.ini拷贝到一个文件夹下,修改frpc.ini文件的内容:

[common]
server_addr = 你的服务器公网IP
server_port = 7000

[web1(自定义名称)]
type = http
local_ip = 80
subdomain = 二级域名1(test1)
http_user = 网页服务用户名(非必须)
http_pwd = 网页服务密码(非必须)

[web2(自定义名称)]
type = http
local_ip = 81
subdomain = 二级域名2

[web...n]
...

注释
local_ip:本地web服务IP
subdomain:二级域名,通过访问http://二级域名.一级域名:服务端端口,访问服务。例如:

http://test1.domain.com:8080可以访问内网test1对应的端口服务(80)
http://test2.domain.com:8080可以访问内网test2对应的端口服务(81)

配置好后,我们执行以下命令:

frpc -c frpc.ini

如果没有报错,说明配置成功。

注意
二级域名需要解析,腾讯云的解析方法是:
在这里插入图片描述
主机记录输入二级域名,记录值输入服务器IP。

添加windows服务

服务端命令行一直开着没什么问题,但是内网客户端的机子开个窗口很不方便,我们可以添加一个windows服务,设置为开机自启动。通过winsw可以很方便添加一个服务。
我们把下载的winsw加压后,可执行文件(exe)和配置文件(xml)统一改名为winsw.exe和winsw.xml。
我们修改xml的内容:

<service>
    <id>frpWebServe</id>
    <name>frpWebServe</name>
    <description>frp web service</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <logmode>reset</logmode>
</service>

我们把winsw.exe和winsw.xml放到frpc.exe同一个文件夹下。执行以下命令:

winsw install
winsw start

即可添加服务,并且开机自启动。
大功告成!

总结

通过本篇教程,我们实现了多个二级域名的内网穿透,不出意外,你应该可以在外网访问你在内网部署的网站,不过也许你需要把你的内网代码做调整,把url都替换成外网访问的地址,如果你有配置文件,那么应该操作会简单很多。
大年初一,一篇教程给大家拜年啦!祝大家新年快乐,身体健康。

爬虫Python学习是指学习如何使用Python编程语言来进行网络爬取和数据提取的过程。Python是一种简单易学且功能强大的编程语言,因此被广泛用于爬虫开发。爬虫是指通过编写程序自动抓取网页上的信息,可以用于数据采集、数据分析、网站监测等多个领域。 对于想要学习爬虫的新手来说,Python是一个很好的入门语言。Python的语法简洁易懂,而且有丰富的第三方库和工具,如BeautifulSoup、Scrapy等,可以帮助开发者更轻松地进行网页解析和数据提取。此外,Python还有很多优秀的程和学习资源可供选择,可以帮助新手快速入门并掌握爬虫技能。 如果你对Python编程有一定的基础,那么学习爬虫并不难。你可以通过观看学视频、阅读程、参与在线课程等方式来学习。网络上有很多免费和付费的学习资源可供选择,你可以根据自己的需求和学习风格选择适合自己的学习材料。 总之,学习爬虫Python需要一定的编程基础,但并不难。通过选择合适的学习资源和不断实践,你可以逐步掌握爬虫的技能,并在实际项目中应用它们。 #### 引用[.reference_title] - *1* *3* [如何自学Python爬虫? 零基础入门程](https://blog.youkuaiyun.com/zihong523/article/details/122001612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [新手小白必看 Python爬虫学习路线全面指导](https://blog.youkuaiyun.com/weixin_67991858/article/details/128370135)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HouGISer

HouGiser需要你的鼓励~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值