FRPS配置服务端(腾讯云)、客户端(PC电脑Windows、树莓派Debian)并设置虚拟域名

1.服务端(腾讯云):frps.ini

[common]
bind_port = 7000
vhost_http_port=8080
vhost_https_port=44344
dashboard_port = 7500
privilege_token = your_password
subdomain_host = example.com
use_encryption = true
encryption_method = tls
dashboard_user = admin
dashboard_pwd = admin

2.客户端(PC电脑Windows) :frpc.ini

[common]
tls_enable = true # 这一行特别重要,不然Windows无法连接服务端
server_addr = xx.xx.xx.xx # 服务端ip
server_port = 7000
privilege_token = your_password[pc_test]
type = http
local_ip = 127.0.0.1
local_port = 80
subdomain = win

3.客户端(树莓派Debian) :frpc.ini 

[common]
tls_enable = true
server_addr = xx.xx.xx.xx # 服务端ip
server_port = 7000
privilege_token = your_password[e45f016390e6]
type = http
local_ip = 127.0.0.1
local_port = 8001
subdomain = raspberry

解释:

1.frps.ini中, “subdomain_host = example.com”是指服务器已经被解析过的域名,即example.com和服务器ip已在云服务器中被解析绑定。

2.PC电脑端Windows和树莓派Debian中的客户端frpc.ini中的“subdomain”参数是指虚拟子域名,在这个例子中,这个设置可以满足我们访问win.example.com和raspberry.example.com时,服务端frps会进行路由,转发到指定客户端上的“local_port”端口上。

3.在PC电脑Windows上,我们可以用python的http.server来模拟网站接收转发信息,python代码如下:

import http.server
import socketserverPORT = 80# 创建一个简单的HTTP请求处理器
class SimpleHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):def do_GET(self):# 可以在这里添加处理GET请求的逻辑self.send_response(200)self.send_header("Content-type", "text/html")self.end_headers()self.wfile.write(b"Hello, world! This is a response from the server.")# 设置监听的端口
httpd = socketserver.TCPServer(("", PORT), SimpleHTTPRequestHandler)print("Serving at port", PORT)
try:# 启动服务器httpd.serve_forever()
except KeyboardInterrupt:# 处理Ctrl+Cprint("Shutting down server.")# 关闭服务器httpd.server_close()

在树莓派Debian中一样也可以使用这个http.server来模拟,也可以使用Django来运行服务器

注意事项 - 使用frps虚拟域名功能需要注意以下事项:

1.云服务器的域名解析需要解析“*.example.com”到你的服务器公网ip上,示例:

2.除了设置解析以外,还要设置nginx服务器的配置文件,配置一个server,不要嵌入,和其他的server并列:

server {# 监听的80端口listen 80;server_name *.example.com;location / {proxy_pass http://127.0.0.1:8080;# 这个Host的header一定要加,不然转发后frp拿不到通过哪个域名访问的,导致转发失败proxy_set_header Host $host;}
}

好了,到此为止,当我们访问subdomain加上subdomain_host的域名例如:win.example.com时,就会将访问转发PC端Windows上面。

另外,关于frps、frpc在不同系统中的开机自启就不多说了,网上的教程很多,实在是不懂也可以再来留言问我。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建zuul网关

1. 路由知识 有关网关的很多知识我们都在04.gateway讲解了,有关网关的详细知识可以到上节详细了解。本节我们主要来讲解下另一个网关zuul。本节结合之前的章节网关搭建的项目案例上实现zuul的搭建,侧重于实战。 2. Zuul现状 zuul官方文档 zuul截止clo…

【ZooKeeper高手实战】ZooKeeper 工业级的场景(配置中心、日志系统、数据同步系统)

🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理…

深入理解 Hadoop (五)YARN核心工作机制浅析

概述 YARN 的核心设计理念是 服务化(Service) 和 事件驱动(Event EventHandler)。服务化 和 事件驱动 软件设计思想的引入,使得 YARN 具有低耦合、高内聚的特点,各个模块只需完成各自功能,而模…

熟悉HDFS常用操作

1. 利用Hadoop提供的Shell命令完成下列任务 (1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件。 #检查文件是否存在./bin/hdfs dfs -test -e text.txt echo $? #结果是1 代表已存在 #根据结果判断出文件已存…

dubbo与seata集成

1.seata是什么? Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 2.seata的注解 GlobalTransactional:全局事务注解,添加了以后可实现分布式事务的回滚和提交,用法与spring…

VMware虚拟机安装Ubuntu

准备:Ubuntu的镜像文件,VMware,手. 1.新建虚拟机,选择自定义,下一步。 2.硬件兼容性,选择Workstation 16.x,下一步。 3.选择安装程序光盘映像文件,路径为映像文件所在文件夹,下一步。 4. 创建用户和设置密…

hive 函数使用详解

一、前言 在任何一种编程语言中,函数可以说是必不可少的,像mysql、oracle中,提供了很多内置函数,或者通过自定义函数的方式进行定制化使用,而hive作为一门数据分析软件,随着版本的不断更新迭代,也陆续出现了很多函数,以满足日常数据查询与分析的各种场景。 二、hive 函…

GEE中导入研究区shape

找到Assets,新建NEW 等待上传完成 从Assets列表中找到导入文件,复制ID

106短信群发如何发送会员通知

106短信群发可以通过以下步骤发送会员通知: 1.确定通知内容:首先需要确定要发送的通知内容,包括通知的主题、内容、时间、地点等信息。 2.设计通知模板:根据通知内容,设计通知模板。模板应包括短信的格式、语言风格、…

AI教我学编程之C#入门程序详解与拓展

与AI肩并肩 前言一、一个简单的C#程序补充说明对话AI 二、标识符三、关键字四、Main五、空白1. 缩进2. 代码块的间距3. 操作符的空格4. 换行5. 一致性 六、语句七、从程序输出文本主题:从程序中输出文本1. Write 和 WriteLine 方法2. 格式字符串3. 多重标记和值4. 格…

Banner设计专家详细解释和使用技巧!

一、banner的作用 宝安在运营工作中具有吸引注意力、提高转化率、传达信息、提升品牌形象、引导用户行为、营造活动氛围等多种功能。因此,在运营工作中,需要根据具体需要和目标精心设计和合理使用宝安,才能达到更好的运营效果。 二、banner…

【读书笔记】网空态势感知理论与模型(七)

通过网络级对象依赖关系揭示0Day攻击路径 1. 研究动机 0Day攻击是攻击者和防御者之间信息不对称的结果。赛门铁克研究人员认为,典型的0Day攻击平均隐藏312天才会被觉察。 受到SKRM模型启发,Patrol系统以全局视野来调查在某一个路径上的0Day攻击行为。从…

k8s-存储 11

一、configmapu存储 首先,确保集群正常,节点都处于就绪状态 Configmap用于保存配置数据,以键值对形式存储。configMap资源提供了向 Pod 注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用…

js实现倒计时

今天和大家分享一个小功能,在我们进行需要获取手机验证码或其他方式的验证码进行登录时会有一个功能,就是当你点击发送验证码时会有一个倒计时,倒计时没有结束时按钮是禁用的状态,防止重复发送短信,下面我们来看一下这…

【数据结构】——期末复习题题库(7)

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

C2-4.3.1 多个决策树——随机森林

C2-4.3.1 多个决策树——随机森林 参考链接 1、为什么要使用多个决策树——随机森林? 决策树的缺点: A small change in the data can cause a large change in the structure of the decision tree causing instability 即:对数据集 中…

持续领跑云安全赛道!安全狗多项安全能力获认可

近日,以“数字安全 未来可期”为主题的“2024安全市场年度大会”在北京成功举行。 作为国内云原生安全领导厂商,安全狗也受邀出席此次活动。 厦门服云信息科技有限公司(品牌名:安全狗)创办于2013年,是国内领…

Redis主从复制哨兵及集群

目录 一.主从复制 主从复制的工作原理如下: 主从复制的作用: 搭建Redis 主从复制 每台服务器配置: ​编辑进行编译安装: 定义systemd服务管理脚本: 开启服务,报错看下内容: 修改 Redis…

Python 日志模块 logging 的最佳实践,内容干练简洁

文章目录 1. 引言2. 定义日志类3. 引用日志4. 参考 1. 引言 每次写 python 代码,想找一个日志模块 logging 的最佳实践,都要找一大圈,确不一定可以找到合适的最佳实践。 痛定思痛,我决定下笔记录目前觉得合适的 python 日志的用…

代码混淆:保护您的应用程序

目录 引言 什么是代码混淆? 代码混淆常见手段 代码混淆的作用 代码混淆可能带来的问题 常用的混淆工具 如何使用ipaguard进行混淆 总结 引言 在当今数字化时代,移动应用程序已经成为人们生活和工作中不可或缺的一部分。但是,随着应用…