当前位置: 首页 > news >正文

腾讯云和windows11安装frp,实现内网穿透

一、内网穿透目的

实现公网上,访问到windows上启动的web服务

二、内网穿透的环境准备

公网服务器、windows11的电脑、frp软件(需要准备两个软件,一个是安装到公网服务器上的,一个是安装到windows上的)

  1. frp下载地址
  2. 下载版本
    1.此版本(老版本)供参考,比较新的版本,配置文件是与老版本不一样的
    2.公网服务器上的版本,与windows上的版本是需要对应起来的
    在这里插入图片描述

三、公网服务器的配置安装

  1. 将Linux版本放到 公网服务器/usr/local/frpInstall目录下
    frpInstall的文件夹需自己创建的
    在这里插入图片描述

  2. 更改文件的读写权限、用户和用户组
    #添加文件的用户、用户组为 root(超级管理员)

    sudo chown -R root:root frp_0.33.0_linux_amd64.tar.gz
    

    #更改文件的读写权限为可读可写

    chmod 777 frp_0.33.0_linux_amd64.tar.gz
    
  3. 文件解压缩

    tar -zxvf frp_0.33.0_linux_amd64.tar.gz
    
  4. 更改配置文件
    进入解压缩文件,服务端的配置文件为frps.ini,将其打开,替换为

    [common]
    # frp监听的端口,默认是7000,可以改成其他的
    bind_port = 7000
    # 授权码,请改成更复杂的 # 这个token之后在客户端会用到
    token = 123456  # frp管理后台端口,请按自己需求更改
    dashboard_port = 7500
    # frp管理后台用户名和密码,请改成自己的
    dashboard_user = admin
    dashboard_pwd = admin
    enable_prometheus = true# 访问公网的web端口,按自己需求更改
    vhost_http_port = 8080
    
  5. 安装服务端并执行启动

    #放到指定文件夹,以能够用systemctl去启动frp
    sudo mkdir -p /etc/frp
    sudo cp frps.ini /etc/frp
    sudo cp frps /usr/bin
    sudo cp systemd/frps.service /usr/lib/systemd/system/# 检测是否能使用systemctl启动frps
    sudo systemctl enable frps#启动frps状态
    sudo systemctl start frps#查看frps状态
    systemctl status frps.service
    
  6. 防火墙开放端口
    在这里插入图片描述

  7. 检测服务端frp安装是否成功
    访问http://公网ip:7500/,出现下图时,代表服务端搭建成功在这里插入图片描述

四、windows客户端的配置安装

  1. 解压客户端软件包,并更改配置文件
    在这里插入图片描述

    [common]
    server_addr = 公网ip
    server_port = 7000
    token = 123456[web_8800]
    type = http
    local_ip = 127.0.0.1
    local_port = 80
    custom_domains = 公网ip
    remote_port = 8080
    
  2. 启动客户端
    在软件包所在页面,文件夹路径上,输入cmd,在弹出的黑窗口中执行frpc.exe
    加粗样式

五、代理

访问 公网ip:8080映射到windows上127.0.0.1:80

六、frp实现多端口穿透

上面步骤实现的是单个端口,那如何实现多端口同时穿透,例实现 公网ip:9001映射到windows上的127.0.0.1:80,同时实现 公网ip:9002映射到windows上的127.0.0.1:8092

1.只需更改客户端配置文件frpc.ini,其他如上

[common]
server_addr = 公网ip
server_port = 7000
token = 52010[web_80]
# 类型是tcp,而不是http,
# 原理(参考):frp会直接将其当作tcp数据包处理,只处理到了传输层(tcp)
type = tcp
# 本地ip
local_ip = 127.0.0.1
# 本地端口
local_port = 80
# 远程访问的端口
remote_port = 9001[web_8080]
type = tcp
local_ip = 127.0.0.1
local_port = 8092
remote_port = 9002

2.注意点
frps.ini配置文件中vhost_http_port = 8080,对应的端口号8080,在多端口穿透中是没用的可以去掉,如果没去掉,多端口映射的客户端配置文件frpc.ini中,remote_port配置的端口号不要与8080相同。
②此使用tcp的映射方式,不能监听1024以下的端口(服务端非root是不允许监听1024以下的端口),也即remote_port不能配置1024以下端口
③此使用tcp的映射方式,对romote_port有要求,如果将其设置为8999,此穿透会失败,设置的只有大于等于 9001才可以,具体规则大家自己尝试获取。

七、frp实现监听web的80端口

  1. 服务端frps.ini配置

    [common]
    server_addr = 公网ip
    server_port = 7000
    token = 123456[web_8800]
    type = http
    local_ip = 127.0.0.1
    local_port = 80
    custom_domains = 公网ip
    remote_port = 80
    
  2. 服务端frps.service更改
    在这里插入图片描述
    原因:根据frp的systemd配置默认使用nobody用户运行,而非root是不允许监听1024以下的端口。所以,把frp的systemd配置里面的“User=nobody”注释掉,此解决方式针对通过http方式进行的监听,tcp还是存在此问题

  3. 客户端frpc.ini配置

    [common]
    server_addr = ip公网
    server_port = 7000
    token = 52010[web_80]
    type = http
    local_ip = 127.0.0.1
    local_port = 80
    custom_domains = ip公网
    remote_port = 80
    

相关文章:

腾讯云和windows11安装frp,实现内网穿透

一、内网穿透目的 实现公网上,访问到windows上启动的web服务 二、内网穿透的环境准备 公网服务器、windows11的电脑、frp软件(需要准备两个软件,一个是安装到公网服务器上的,一个是安装到windows上的) frp下载地址下载版本 1.此版本(老版…...

Solidity智能合约事件(event)

文章目录 Solidity智能合约事件(event)什么是event事件event有什么作用日志内容位于区块链的什么地方?【重要】以太坊交易获取如何在 Solidity 中使用事件?参考 Solidity智能合约事件(event) 什么是event EVM有一个日志功能,用于将数据“写…...

第2章 Rust初体验7/8:错误处理时不关心具体错误类型的下划线:提高代码可读性:猜骰子冷热游戏

讲动人的故事,写懂人的代码 2.6.6 用as进行类型转换:显式而简洁的语法 贾克强:“大家在查看Rust代码时,可能会注意到这一句。在这里,如果我们不使用as i32,编译器会报错,因为它在u32中找不到abs()方法。这是因为prev和sum_of_two_dice都是u32类型,u32类型并不支持abs(…...

大话C语言:第24篇 预处理

1 C语言编译流程 C语言的编译流程包括: 预编译:将.c 中的头文件展开、宏展开,生成的文件是.i 文件。gcc指令:gcc -E file.c -o file.i 编译:将预处理之后的.i 文件生成 .s 汇编文件。gcc指令:gcc -S file…...

React如何配置路由

ReactTs配置路由 安装依赖 npm i react-router-dom在routers下面创建index.tsx import { RouteObject } from react-router-dom import React from react import PageA from /views/PageA import PageB from /views/PageB const routes: RouteObject[] [{path: /,element: …...

MAC使用初体验+入门

之前从来没有使用过MAC,这次拿到了一个 不得不说MAC度过适应期后用起来很舒服,续航长,触控板舒服,轻薄无比 我前期过度的时候记录的一部分快速指南,掌握如下一些电脑常识 可以做到正常使用了 基本操作 在 Mac 上使用桌…...

Go TOKEN机制与跨域处理方式

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

JavaScript 的运行

语法分析预编译解释执行 1.语法分析 语法分析是 JavaScript 引擎处理代码的第一步。 在这个阶段,引擎将源代码字符串分解成一个个的词素(token),这些词素是语言中有意义的最小单元,如关键字、变量名、操作符等。 语…...

园区地图导航系统:技术原理、部署方案与智能化应用解析

随着智能化时代的到来,园区管理面临诸多挑战。维小帮园区地图导航系统,采用前沿技术,为园区提供全面的导航解决方案,极大提升了园区管理效率和用户体验。 一、园区地图导航系统的功能特点 维小帮园区地图导航系统,以其…...

【数据结构】第十六弹---C语言实现希尔排序

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、希尔排序( 缩小增量排序 ) 1.1、预排序实现 1.2、希尔排序代码实现 1.3、代码测试 1.4、时空复杂度分析 1.5、性能比较 总结 上一弹我们…...

用Python向Word文档添加页眉和页脚

用Python向Word文档添加页眉和页脚 添加页眉和页脚效果代码 添加页眉和页脚 在本文中,我们将用python向文档中添加页眉和页脚。 效果 添加前的文档: 添加页眉和页脚后: 代码 from docx import Documentdef add_header_footer(doc_path…...

REST风格

黑马程序员Spring Boot2 文章目录 1、REST简介1.1 优点1.2 REST风格简介1.3 注意事项 2、RESTful入门案例 1、REST简介 1.1 优点 隐藏资源的访问行为,无法通过地址的值对资源适合中操作书写简化 1.2 REST风格简介 按照RST风格访问资源时使用行为动作区分对资源进…...

Mongodb连接测试程序【Java版】

先导入Maven依赖 <dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId><version>4.9.0</version> </dependency>import com.mongodb.MongoClientSettings; import com.mongodb.MongoCred…...

SM3国密算法:优秀的密码散列函数

随着信息技术的飞速发展&#xff0c;信息安全已成为全球关注的焦点。密码学作为保障信息安全的核心技术&#xff0c;其重要性不言而喻。中国在密码学领域也取得了显著的成就&#xff0c;其中SM3国密算法就是中国自主设计并推广使用的密码学标准之一。 一、SM3算法概述 SM3算法…...

【安卓】在安卓中使用HTTP协议的最佳实践

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…...

Spring Boot集成antlr实现词法和语法分析

1.什么是antlr&#xff1f; Antlr4 是一款强大的语法生成器工具&#xff0c;可用于读取、处理、执行和翻译结构化的文本或二进制文件。基本上是当前 Java 语言中使用最为广泛的语法生成器工具。Twitter搜索使用ANTLR进行语法分析&#xff0c;每天处理超过20亿次查询&#xff1…...

多线程中run()和start()的区别

我们知道&#xff0c;在多线程中 Thread thread new Thread(runnable); thread.start();以及 thread.run();都可以执行runnable中run方法下的代码&#xff0c;但是二者又有所不同 下面给出一段代码用以体现二者的区别&#xff1a; 以下代码中&#xff0c;通过thread.start()启…...

Nginx基础理论

Nginx最为最受欢迎的反向代理和负载均衡服务器&#xff0c;被广泛的应用于互联网项目中。这不仅仅是因为Nginx本身比较轻量&#xff0c;更多的是得益于Nginx的高性能特性&#xff0c;以及支持插件化开发&#xff0c;为此&#xff0c;很多开发者或者公司基于Nginx开发出了众多的…...

【QT5】<应用> 小游戏:贪吃蛇

文章目录 一、项目要求 二、需求分析 三、实现效果 四、代码 一、项目要求 【1】主要实现&#xff1a;游戏界面存在一条蛇&#x1f40d;&#xff0c;使用键盘wsad或者↑↓←→键盘可以控制蛇的行走方向。同时界面中会随机出现食物&#xff0c;蛇可以吃食物&#xff0c;然后…...

【Webpack】使用 Webpack 构建 Vue3+TS 项目

构建项目目录 tsc --init npm init -yshim.d.ts 文件是一个类型声明文件&#xff0c;用于告诉 TypeScript 编译器如何处理 Vue 的单文件组件&#xff08;SFC&#xff09;和其他自定义模块。为 Vue 的单文件组件和其他非 TypeScript 模块提供类型信息&#xff0c;以便在 TypeScr…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...