frp内网穿透之(反向代理nginx)

通过公网 https 连接访问内网(局域网)本地http服务如下:

1.准备工作

​ 想要实现内网穿透功能首先我们需要准备:

  • 一台公网服务器(用作frps的服务端)
  • 一台需要做转发的内网服务器(用作frpc的客户端)

3、frp服务端安装及配置

3.1 下载frp服务端

​ 注意frp服务端是安装在公网服务器上的!!!

​ 服务端下载地址:Releases · fatedier/frp · GitHub

在这里插入图片描述

​ 可以看到有很多版本,我的外网服务器是Linux的,可以输入命令查看服务器架构版本:

arch

在这里插入图片描述

​ x86_64 直接下载.我下载的是frp_0.56.0_linux_amd64.tar.gz 后缀为 amd64 这个版本。可以手动下载到本地,然后通过scp命令传到服务器,也可以直接在外网服务器上下载。

 下载完成后解压,输入命令:

tar -zxvf frp_0.56.0_linux_amd64.tar.gz

​ 解压完成后cd进入目录:

cd frp_0.56.0_windows_amd64

​ 其中作为服务端,我们只需要关注 frps 和 frps.toml 文件。

3.2 frps配置

​ 其中 frps.toml 文件就是我们服务端的配置文件,我们需要根据自己情况稍作修改。输入命令:

vim frps.toml

 编辑配置如下:

bindPort = 8848
webServer.port = 8088
webServer.addr = "0.0.0.0"
webServer.user = "admin"
webServer.password = "admin"

 其中:

  • bindPort:客户端和服务端连接的端口,在配置客户端的时候要用到。
  • webServer.port:服务端可视化界面的端口,若使用7501端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7501。
  • webServer.addr:本地访问地址
  • webServer.user:打开服务端可视化界面的用户名,可自行设置。
  • webServer.password:打开服务端可视化界面的密码,可自行设置。
  • token:用于客户端和服务端连接的口令,可以自行设置,不用和我保持一样。

​ 注意:配置项并未介绍完,详情请参见官方文档。

3.3 frps启动

​ 输入启动命令,启动frp服务端:

# 方式一:正常启动
./frps -c ./frps.toml

# 方式二:后台挂起启动
nohup /frp/frp_0.56.0_linux_amd64/frps -c /frp/frp_0.56.0_linux_amd64/frps.toml > /frp/frp_0.56.0_linux_amd64/frps.log 2>&1 &        

​ 如果没有报错,代表启动成功!如果无法访问 8088 服务端可视化界面,请检查防火墙是否开放所有所需端口。云服务器,配置规则记得也要开放

输入配置的账号密码,点击登录,进入仪表盘:

在这里插入图片描述

​ 此时frp的服务端我们就配置完毕了,接下来开始配置客户端。

4、frpc客户端配置及启动

(本人使用的是本地虚拟机。如果你使用的是windows系统,配置和启动方法一样。)

4.1 把服务端下载的 frp_0.56.0_linux_amd64.tar.gz 文件向虚拟机 Linux 中复制一份过来后,进行解压如下:

4.2 接下来我们来修改客户端 frpc.toml 配置文件

serverPort = 8848
serverAddr = "你的服务端IP 110.50.114.150"

[[proxies]]
name = "web"
type = "tcp"
localIP = "192.168.110.25"
localPort = 8201
remotePort = 8888
  • serverPort:与远程绑定的端口相同
  • serverAddr:公网服务器 IP 访问地址
  • name:代理名称(随便填)
  • type:  代理类型
  • localIP:代理地址, 要转发到哪个地址(本地服务地址)
  • localPort:代理端口, 要转发到哪个端口(本地服务端口)
  • remotePort:  远程代理到公网的端口,服务端与客户端连接的桥梁 (此端口记得进行端口开放,避免连接不上)

输入启动命令,启动frp客户端 ,如下:

# 方式一
./frpc -c ./frpc.toml

# 方式二
nohup /guorui/frp/frp_0.56.0_linux_amd64/frpc -c /guorui/frp/frp_0.56.0_linux_amd64/frpc.toml > /guorui/frp/frp_0.56.0_linux_amd64/frpc.log 2>&1 &

# 如果是你是windows,进入文件所在目录进行启动。 启动方式如下:
frpc -c frpc.toml

​ 如控制台未报错,代表启动成功,默认80端口

 5. 使用Nginx 配置https协议的域名

5.1 具体阿里云域名购买和配置请参考我以前的文章,有讲解。自行翻阅,本文不讲,直接上代码!

 # nginx https 服务配置	
    server {
		listen 80;
		server_name yourdomain.com; #需要将yourdomain替换成证书绑定的域名。
		rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
		location / {
			index index.html index.htm;
		}
	}
    server {
		listen 443 ssl;
		server_name yourdomain.com; #需要将yourdomain替换成证书绑定的域名。
		root html;
		index index.html index.htm;
		ssl_certificate cert/yourdomain.com.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
		ssl_certificate_key cert/yourdomain.com.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
		ssl_session_timeout 5m;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		#表示使用的加密套件的类型。
		ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
		ssl_prefer_server_ciphers on;
		location / {
			proxy_pass http://ip:8888;    # 上一步访问的地址(也就是客户端配置的远程访问地址)
		}
	}

5.2 访问成功结果如下:

访问nginx配置的域名地址:https://yourdomain.com/xxx/xxx/myMethod

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

D-迷恋网游(遇到过的题,做个笔记)

我的代码&#xff1a; #include <iostream> using namespace std; int main() {int a, b, c; //a表示内向&#xff0c;b表示外向&#xff0c;c表示无所谓cin >> a >> b >> c; //读入数 if (b % 3 0 || 3-b % 3 < c) //如果外向的人能够3人组成…

Golang Channel底层实现原理

1、本文讨论Channel的底层实现原理 首先&#xff0c;我们看Channel的结构体 简要介绍管道结构体中&#xff0c;几个关键字段 在Golang中&#xff0c;管道是分为有缓冲区的管道和无缓冲区的管道。 这里简单提一下&#xff0c;缓冲区大小为1的管道和无缓冲区的管道的区别&…

Android14之BpBinder构造函数Handle拆解(二百零四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

详解人工智能(概念、发展、机遇与挑战)

前言 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是一门新兴的技术科学&#xff0c;是指通过模拟、延伸和扩展人类智能的理论、方法、技术和应用系统&#xff0c;以实现对人类认知、决策、规划、学习、交流、创造等智能行为的模拟、延伸和扩展…

Linux 线程互斥、互斥量、可重入与线程安全

目录 一、线程互斥 1、回顾相关概念 2、抢票场景分析代码 多个线程同时操作全局变量 产生原因 如何解决 二、互斥量 1、概念 2、初始化互斥量&#xff1a; 方法1&#xff1a;静态分配 方法2&#xff1a;动态分配 3、销毁互斥量&#xff1a; 4、加锁和解锁 示例抢…

MySQL 8.0.13安装配置教程

写个博客记录一下&#xff0c;省得下次换设备换系统还要到处翻教程&#xff0c;直接匹配自己常用的8.0.13版本 1.MySQL包解压到某个路径 2.将bin的路径加到系统环境变量Path下 3.在安装根目录下新建my.ini配置文件&#xff0c;并用编辑器写入如下数据 [mysqld] [client] port…

基于jsp网上教师点评系统

基于jsp网上教师点评系统 关键词&#xff1a;教师点评 信息技术 JSP技术 系统实现 首页 评分规则 教室信息 后台首页 相关技术介绍 B/S架构 对于架构&#xff0c;听起来说我们可能比较陌生&#xff0c;但对于通俗的语法讲。他的访问方式是通过网址还是说通过点图标这…

YoloV8改进策略:Neck改进|GCNet(独家原创)|附结构图

摘要 本文使用GCNet注意力改进YoloV8,在YoloV8的Neck中加入GCNet实现涨点。改进方法简单易用&#xff0c;欢迎大家使用&#xff01; 论文:《GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond》 非局部网络&#xff08;NLNet&#xff09;通过为每个查…

Flex布局:打造灵动、响应式网页设计的利器

Flex布局&#xff08;Flexible Box Layout&#xff09;&#xff0c;也称为弹性盒布局&#xff0c;是一种现代CSS布局模式&#xff0c;旨在为复杂、响应式的网页设计提供更加灵活、简洁的解决方案。Flex布局通过定义一个弹性容器&#xff08;flex container&#xff09;及其内部…

49岁前港姐退圈出嫁「南丫岛王子」,打排卵针高龄连生两女。

现年49岁的吴忻熹&#xff08;原名吴文忻&#xff09;1998年参选香港小姐夺得季军入行&#xff0c;在TVB签约发展平平&#xff0c;继而转战影坛&#xff0c;凭性感演出而为人熟悉。其后她在2011年嫁给有「南丫岛王子」之称的金融才俊&#xff0c;并在近40岁开始诞下两名女儿。吴…

Set a Light 3D Studio:探索光影艺术的全新维度mac/win中文版

Set a Light 3D Studio 是一款领先的三维建模和渲染软件&#xff0c;它将设计师、艺术家和摄影师的创意想法转化为生动逼真的三维场景。这款软件以其强大的功能和直观的界面&#xff0c;成为行业内众多专业人士的首 选工具。 set.a.light 3D STUDIO中文版软件获取 在Set a Lig…

最简单的 AAC 音频码流解析程序

最简单的 AAC 音频码流解析程序 最简单的 AAC 音频码流解析程序原理源程序运行结果下载链接参考 最简单的 AAC 音频码流解析程序 参考雷霄骅博士的文章&#xff1a;视音频数据处理入门&#xff1a;AAC音频码流解析 本文中的程序是一个AAC码流解析程序。该程序可以从AAC码流中…

信息系统项目管理师——第17章项目干系人管理

本章节内容属于10大管理知识领域&#xff0c;选择、案例、论文都会考。 选择题&#xff0c;稳定考1-2分左右&#xff0c;新教材基本考课本原话&#xff0c;这个分不能丢。 案例题&#xff0c;本期考的概率一般。 论文题&#xff0c;202205期考过。 1管理基础 管理的重要性 为…

QT5-qmediaplayer播放视频及进度条控制实例

qmediaplayer是QT5的播放视频的一个模块。它在很多时候还是要基于第三方的解码器。这里以Ubuntu系统为例&#xff0c;记录其用法及进度条qslider的控制。 首先&#xff0c;制作一个简单的界面文件mainwindow.ui&#xff1a; 然后&#xff0c;下载一个mp4或其他格式视频&#x…

爬虫 红网时刻 获取当月指定关键词新闻 并存储到CSV文件

目标网站&#xff1a;红网 爬取目的&#xff1a;为了获取某一地区更全面的在红网已发布的宣传新闻稿&#xff0c;同时也让自己的工作更便捷 环境&#xff1a;Pycharm2021&#xff0c;Python3.10&#xff0c; 安装的包&#xff1a;requests&#xff0c;csv&#xff0c;bs4&…

计算多个元素的累乘结果累乘器start默认初始为1 math.prod()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算多个元素的累乘结果 累乘器start默认初始为1 math.prod() [太阳]选择题 请问题目中的代码最后输出什么? import math list1 [1, 2, 3] print("【显示】list1 ",list1) pri…

如何将本地仓库放到远程仓库中

在我们仓库创建好之后&#xff0c;我们复制好ssh 接着我们需要使用git remote add<shortname><url>这个命令 shortname就是我们远程仓库的别名 接着使用git remote -v这个命令查看一下目前远程仓库的别名和地址 原本还有一个指令git branch -M main 指定分支的名…

智能试卷分析、智能组卷系统

本课题开发一个新型智能试卷分析评价系统&#xff0c;该系统实现了学生试卷的生成与评估以及对各种评估信息的管理和维护。该系统使用SpringBoot MysqlVue搭建的框架为设计平台&#xff0c;以B/S模式开发与设计题库及试卷管理模块。 学生功能&#xff1a;登录&#xff0c;答题考…

RD55UP06-V 三菱iQ-R系列C语言功能模块

RD55UP06-V 三菱iQ-R系列C语言功能模块 RD55UP06-V用户手册&#xff0c;RD55UP06-V功能&#xff0c;RD55UP06-V系统配置 RD55UP06-V参数规格&#xff1a;10BASE-T/100BASE-TX/1000BASE-T 1通道&#xff1b;字节存储次序格式小端模式; 可使用SD存储卡插槽&#xff1b;工作RAM 1…

dddddd

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…