通过反向代理内网穿透访问视频监控

通过反向代理内网穿透访问视频监控

  • 业务场景
  • 反向代理
  • 建立反向代理
    • 安装docker
    • 安装服务端
    • 安装客户端
    • 使用
  • 穿透rtsp

业务场景

我们在客户的船上安装了监控设备,因为船只要横渡长江,长江南北属于不同的城市辖区,所以船在江中心时肯定会有4G基站变换的动作,导致设备的外网ip地址变化。没有固定ip地址的局域网访问方式一般是通过DDNS,但DDNS检测ip变化的时间需要10分钟,看来DDNS肯定是不适用这样的场景。

可行的方案应该是这样的,船上的设备主动连接到外面一个公网服务器,连接之后又有两种方案:

  1. 把视频流不断的推送到服务器,网络断开重连后,4G设备会立即重新连接推送,我想看的时候连接到服务器看就行了。这种方案对于4G网络来说,太贵了。
  2. 我想看视频的时候4G设备才会发流量过来,不想看的时候就不发送流量。

反向代理

方案2明显是最优方案,今天我就先来介绍一下端口反向代理。谈到反向代理大家都会想到nginx,它的原理是这样的

外网
内网
我的电脑
nginx
应用服务器

很明显这种场景中nginx要能访问到应用服务器,它们一般都是同一内网的服务器。nginx要有外网直接访问到的端口。如果内网在一个没有公网ip的环境中,此访问是不可行的。

外网X
内网
我的电脑
nginx
应用服务器

nginx与应用服务器不在内网

外网
外网X
我的电脑
nginx
应用服务器

为什么要说穿透,就是因为我们的应用服务器没有公网ip.我们经常听到的DDNS也只是就种访问没有公网ip的方式,内网一定要在防火墙上映射端口。而我们的场景是更复杂的,除了4G设备上没有映射功能外,ip还会在一定时间内变化。所以我的终极方案是这样的:

2外网
1外网
3通信
我的电脑
nginx
应用服务器

除非应用服务器不能上网,否则应用服务器不用防火墙同意直接被穿透。

建立反向代理

有了上面的理论基础,我们就按以上的理论来建立:
github上搜了一下,热门的两个方案为ngrok和frp。网上对ngrok好评比较多,所以使用了一下ngrok, 客服端很好用,服务端用ngrok的官网,教程可参考:https://blog.csdn.net/liu_005/article/details/79557818

毕竟我的应用要发送视频数据,数据量比较大,还是要搭建自己的服务器的。一去搭建服务器才知道,ngrok就是个坑,其中的证书一是不知道怎么用;二是真觉得没意义啊,就不能也只是配个auth_key?

果断放弃!去frp一看,Star不比ngrok少,看来ngrok只是占了年龄的光,其实岁数不小了,都三年没更新过了。在看frp的配置,这不就是我想要的。ngrok就不谈了,下面介绍下frp的安装

安装docker

本着一个docker打天下的原则,我是能用现成docker包的,肯定用docker,没有现成包的,自己build也要用docker封装包。因为我用的centos 7.x,所以安装docker也很简单, 顺便我会一起装docker compose

yum install docker
curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 没权限的自行加sudo

安装服务端

在hub.docker.com中找到一个比较中意的包xddxdd/frps,它的client包就是xddxdd/frpc.

ssh进入一台有公网ip的服务器

为frps建立一个配置文件

mkdir frp   #建立项目文件夹
cd frp
mkdir frp   #建立配置文件夹
cd frp
vi frps.ini

在frp.ini中输入(#不知道能不能达到注释的作用,请实际使用时去掉#)

bind_port = 7000    #和client通信的端口token = 123456    #验证码
# 下面都是开启管理面板的配置
dashboard_addr = 0.0.0.0    
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 654321

保存好frps.ini后(不会用vi的自行百度)。

cd ..
vi docker-compose.yml

输入如下

version: '2'
services:server:image: xddxdd/frpsrestart: alwaysvolumes:- ./frp:/frpports:- 7500:7500- 7000:7000- 6000-6010:6000-6010    # 预留应用的端口command: frps -c frps.ini

保存好docker-compose.yml后,就可以运行了

docker-compose up -d

安装客户端

在船上4G内网环境下,放一台centos主机。这里就可以提现docker的好处了,因为docker在windows上是一样的用法

安装docker

建立客户端配置文件

mkdir frp
cd frp
mkdir frp
vi fprc.ini

输入配置参数

[common]
server_addr = xxx.xxx.xxx.xxx    #服务器ip
server_port = 7000     #服务器通信端口
token = 123456     #服务器验证码[ssh]
type = tcp
local_ip = 127.0.0.1  #本机地址
local_port = 22   #本机端口
remote_port = 6000  #在服务器注册的端口,注册成功后访问服务器的6000就等于访问的本地的22端口

保存成功后

cd ..
vi docker-compose.yml

输入如下

version: '2.2'
services:client:image: xddxdd/frpcnetwork_mode: host    # 这里要用host才能访问到主机,不然127.0.0.1只能访问到这个docker容器,就没意义了restart: alwaysvolumes:- ./frp:/frp

client 不要夹command制定配置文件

docker-compose up -d

客服端启动

使用

先打开http://公网ip:7500, 输入admin 654321进入
frps

客户端已经在线。
现在用我的电脑在家连接船电脑

ssh -p 6000 root@xxx.xxx.xxx.xxx

连接成功!

穿透rtsp

反向穿透成功,client会在断网后不断的从新和server尝试建立连接。
在client的frpc.ini中多加一个配置

[rtsp]
type = tcp
local_ip = aaa.aaa.aaa.aaa  #摄像头ip,可以指向非自身的ip哦
local_port = 554   #rtsp端口
remote_port = 6001

重新启动客服端

docker-compose restart

rtsp播放器播放 rtsp://xxx.xxx.xxx.xxx:6001/streaming/101 成功

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

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

相关文章

手把手教你搭建自己本地的ChatGLM

前言 如果能够本地自己搭建一个ChatGPT的话,训练一个属于自己知识库体系的人工智能AI对话系统,那么能够高效的处理应对所属领域的专业知识,甚至加入职业思维的意识,训练出能够结合行业领域知识高效产出的AI。这必定是十分高效的生…

网页在线沟通工具,网页即时聊天工具-ttkefu完全免费电话呼叫流程图

ttkefu的免费网页电话是怎么回事,应该怎么使用呢?都在哪里能加入免费电话 如图(1)在网站侧边加入免费电话 如图(2)在聊天咨询页面的网页电话 如图(3)点击打开网页电话,输入手机号或电话号。 (图1&#xf…

ChatGPT和New Bing作为AI界新宠,两者有何异同

ChatGPT和New Bing是两个不同的实体,它们之间有一些区别也有一些相似之处。我先说说各自的特点,再汇总说说两者的异同点。 ChatGPT的特点: ChatGPT是一个基于神经网络的自然语言处理模型,能够自动生成自然语言响应。ChatGPT的模…

AI正在取代人工?ChatGPT这样说.....

随着ChatGPT的大火,对于AI机器人的讨论热度空前,它表现出的强大功能性,给当前多领域带来了更多发展可能性,但同时也为该模型带来的一系列技术伦理问题,争议也随之而来。 ChatGPT表现出的智慧与强大令人激动&#xff0…

【人工智能】你知道 ChatGPT 有什么新奇的使用方式吗?请来看看 Open AI 内部工程师都怎么使用 ChatGPT 的

现在,大家基本上把能想到的ChatGPT的使用方法都研究遍了——从写作、写代码,到翻译、英语润色,再到角色扮演等等。 说一个高级的,来看看OpenAI内部是如何使用ChatGPT的。 目录 说一个高级的,来

ChatGPT禁令影响A股吗

3月的最后一天,意大利政府数据保护局暂时禁止OpenAI的ChatGPT,并对其展开涉嫌违反隐私规则展开调查,这是风靡全球3个多月的ChatGPT首次遇到挫折。 据瑞银上月发布的一项研究显示,ChatGPT预计在1月份,即推出两个月后&a…

ChatGPT决定要挑战“考研”,你猜它会上岸吗?

2023年考研 Postgraduate Entrance Examination ChatGPT挑战考研 它能成功吗? 写在前面 在众多“考研人”中,有一个不同寻常的参与者——ChatGPT。这个人工智能模型在2022年12月惊艳亮相,成为了众人关注的焦点。虽然ChatGPT没有身份证&…

AIGC的隐私安全问题及隐私保护技术

作者:京东科技 杨博 ChatGPT 才出现两个月,就已经引起了学术界的关注。微软成为ChatGPT母公司OpenAI的合作伙伴,并确认投资百亿美元。同时,微软正计划将 OpenAI 的技术整合到其产品中,包括Bing搜索引擎和其他软件,以增…

ChatGPT数据安全隐患?本想提高效率,数据却遭泄露

一项新的研究发现,15%的员工经常在ChatGPT上上传公司数据,其中超过四分之一的数据被认为是敏感信息,这使公司在无形中面临安全漏洞的风险。 6月的研究报告《揭示真正的GenAI数据暴露风险》分析了超过10000名员工,主要研究员工如何…

ChatGPT隐私保护的重要性

隐私保护是保障ChatGPT及其用户安全的重要因素。以下是一些关键的隐私保护问题和考虑因素: a. 用户数据处理:ChatGPT在生成回复时,可能会接收和处理用户的输入数据。确保用户数据的安全存储和合规处理,以保护用户的隐私。 b. 匿名…

ChatGPT对高等教育的可能影响与对策建议

ChatGPT来袭,将对高等教育带来哪些影响,我们又该如何应对? 对于ChatGPT,有人欢喜有人忧,不同人、不同领域评价不一。在一些人眼里,它就是天使,而在另外一些人眼里,它几乎可以说是魔…

盛世芳华游戏与微信公众号结合的DDD项目,已接入chatgpt。附源码。

1、项目介绍 基于游戏(盛世芳华)和微信公众号(小屋写随笔)做了该项目(已线上运行一年半 )该 项目将游戏里的部分数据通过微信公众号展示了出来,玩家可以通过发送文字、语音、图片来获取游戏里的处理后数据以及攻略。截至20230315,玩家互动次数已超过160万次。项目最初版本为传…

除了ChatGPT,这几个工具也好用到离谱!

最近几天全网刷爆的ChatGPT AI聊天机器人大家一定都关注了吧?作为设计师的我一直在体验这款 OpenAI 公司推出的聊天机器人,功能确实很强大,体验也还可以。 但是今天,我重新翻了一遍自己的工具收藏夹,整理了5个&#x…

chatGPT对于人类工作和生活产生的重大影响

chatGPT面世以来,不断地进行升级以及学习训练,目前已经在很多方面可以一定程度的替代传统搜索引擎甚至可以替代部分人类工作。 ChatGPT对人类有以下重大好处: 1. 提供即时的帮助和支持:ChatGPT可以在任何时间、任何地点提供即时…

ChatGPT前身GPT的论文-译文

写在前面 论文 Improving Language Understanding by Generative Pre-Training 地址 https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf ChatGPT火了,改论文作为ChatGPT的前身,可以从这里看到ChatGPT的原始影子。 摘要 自然语言…

ChatGPT 未来会对游戏行业带来哪些影响?

ChatGPT的出现,为整个游戏行业带来了新的思考。 ChatGPT是由微软发布的一个大型语言模型,在被训练之后能够进行对话式文本生成,目前已在多个领域取得了不小的进展,包括聊天机器人、智能客服等。 作为一款大型语言模型&#xff0c…

你可能不需要担心,AI对你的工作造成威胁:万字长文解读科技革命与人类发展

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 上周,AI似乎成为全互联网的焦点了。谷歌在2023IO开发者大会上&#xff0c…

ChatGPT启示录: 智能、推理的本质是什么?神经网络既是推理机,也是知识规则库?

多种因素让人类对自身的智力产生了一种自信,毕竟这个世界上其他生物没有我们大脑发达,智力似乎是上天给人类的独有礼物。作为孩子的父母,老师说孩子不努力似乎是可以接受的,但是说自己娃娃笨是极其羞辱的。 类似的,让很…

ChatGPT必将在文档处理领域大有所为,未来以来,拭目以待【文末送书】

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。 💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精…

ChatGPT对软件开发和软件产品的价值

前言: ChatGPT作为ai对话软件,可以帮你梳理思路,回答专业的问题,检查代码错误,舒缓心情等等;对软件技术人员特别有价值的东西;甚至有人把它当作导师。在ToC上,目前很有优势。 开发…