背景:计划将公司的监控摄像头,和家中的监控摄像头,以SRS服务搭建成为可随时通过web查看的直播监控系统,为节省资源,采用了frp透传软件进行实现。

1.frps 服务器的采购

购买一台外面的服务器(国内服务器通过域名解析访问,需要对网站进行备案,比较复杂)。服务器的硬件配置上,1核,512M内存的即可,最好选择月流量比较大的,300G以上的。

2. 最小化安装Debian 11 服务系统,下载和配置frps

#frps.ini的内容
[common]
bind_port = 54321
vhost_http_port = 81

可以参考我的文章: Nextcloud 结合frp搭建私有网盘_lggirls的博客-CSDN博客_frp nextcloud

3.注册一个域名,外面注册或者国内的注册都可以,将域名解析到所购买的服务器ip地址即可.

这里假设所注册的顶级域名为  test333.com,则在解析的时候,多添加一些二级域名记录。 诸如 www.test333.com  web.test333.com   camera.test333.com    home.test333.com

4. 配置 frpc.ini   公司和家中的SRS流媒体服务器都需要。

公司用域名  camera.test333.com

[common]
server_addr = www.test333.com
server_port = 54321
[web-1]
type = http
local_ip = 192.168.1.100
local_port = 8080 #这个是SRS服务默认采用的端口号
custom_domains = camera.test333.com
#可以添加访问账号和访问密码
http_user = Test
http_pwd = Camera001

家中用域名  home.test333.com

[common]
server_addr = www.test333.com
server_port = 54321
[web-2]  #注意,frps透传多个web服务,需要进行编号,否则会冲突,无法透传
type = http
local_ip = 192.168.1.200
local_port = 8080 #这个是SRS服务默认采用的端口号
custom_domains = home.test333.com
http_user = Test
http_pwd = Camera002

5.启动 frps 和两台服务器上的frpc,测试。

通过 http://camera.test333.com:81  可以查看公司的 SRS流媒体服务器上的监控画面

通过 http://home.test333.com:81  可以查看家中的 SRS流媒体服务器上的监控画面

6. 配置的关键点

注意1,frps.ini 中的    bind_port = 54321,vhost_http_port = 81     这两个配置的 值都是可以自定义的。 因为我们的 frps服务器没有安装占用80端口的应用软件(例如 nginx、Apache2 等),所以可以选择80端口(经过测试,不能使用80端口),最终结果是直接输入域名即可访问对应的SRS服务。

如果 frps.ini 配置为使用 8080端口, 则最后访问两个SRS服务器,还需要加上8080这个端口号。

注意2,不同的服务器,连接同一个frps,在相同的服务上要进行序号的区分, 也就是 frpc.ini中的[web-1]、[web-2],否则会连接不成功。类似的还有通过 ssh进行登录,是一样的要进行编号。

注意3,frps软件会自动根据frpc中的custom_domains的设置域名,进行智能透传;类似于nginx根据域名进行反向代理,无需过多配置,非常简便。

7. 安装nginx到frps服务器,反向代理二级域名指向的服务器,使其不用输入端口号进行访问

apt update
apt install nginx
vim /etc/nginx/nginx.conf
# 在这个配置文件的 http {} 中,增加虚拟机反向代理。内容如下server {listen 80;server_name home.test333.com camera.test333.com;  #两个SRS服务器所采用的二级域名location / {proxy_pass http://127.0.0.1:8080;   # 所要反向代理的端口proxy_redirect http://$host/ http://$http_host/;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;}
}#然后重启nginx服务即可
systemctl restart nginx

通过 http://camera.test333.com  可以查看公司的 SRS流媒体服务器上的监控画面

通过 http://home.test333.com     可以查看家中的 SRS流媒体服务器上的监控画面

这里实际上是frps服务器,将其8080端口的数据,反向代理到了80端口;所返回的内容,通过nginx,对你访问时所输入的二级域名所代表的frpc服务器,进行自动指向。

通过二级域名与frp实现不同web服务的聚合透传相关推荐

  1. java上传文件需要的依赖_java – 执行文件上载休息Web服务时缺少方法依赖性

    我一直在努力了解如何解决此错误: SEVERE: Missing dependency for method public java.lang.String com.myrest.FileServic ...

  2. 利用VPS服务器搭建一个FRP内网穿透服务和Web服务穿透

    目标:实现在公司用mstsc访问控制家里的电脑 附:基本配置参考:FRP服务端和客户端的基本配置_JohnGene的博客 准备资料 1.带有公网ip的Linux主机,下面假设1.2.3.4是固定外网i ...

  3. frps 多个_使用frp工具实现内网的穿透以及配置多个ssh和web服务

    frp简介 frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透. 环境准备 ssh连接 ...

  4. 二级域名用asp.net 2.0的实现方案

    本人所了解有两种方案,可能还有其的方式,希望大家多多讨论! 基本思路: 1. 域名支持泛解析,即是指:把A记录 *.域名.com  解析到服务器IP,服务器IIS中做绑定,绑定时主机头为空; 2. 为 ...

  5. asp.net用url重写URLReWriter实现任意二级域名 (转)

    asp.net用url重写URLReWriter实现任意二级域名 Asp.net 用url重写(URLReWriter)实现任意二级域名 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在 ...

  6. 泛域名PHP,泛域名实现无限二级域名功能

    泛域名在实际使用中作用是非常广泛的,比如实现无限二级域名功能,提供免费的url转发,在IDC部门实现自动分配免费网址,在大型企业中实现网址分类管理等等,都发挥了巨大的作用: 1.可以让域名支持无限的子 ...

  7. iis配置绑定二级域名的问题

    最近用destoon给客户做一个网站,涉及到站内企业网站的二级域名解析的问题,iis怎么配置绑定子目录绑定二级域名呢,查了好多资料,没有一个给出具体步骤的 基本是一些概念,不过看了这些东西基本理解了泛 ...

  8. ASP.NET MVC 实现二级域名

    自从微软发布 ASP.NET MVC 和routing engine (System.Web.Routing)以来,就设法让我们明白你完全能控制URL和routing,只要与你的application ...

  9. ASP.NET“.NET研究”下用URLRewriter重写二级域名

    这里要求对域名进行重写,实现http://1234.abc.com/ 到 ~/Defa.aspx?id=1234的重写. 第一:域名 首先域名要支持泛解悉,就是域上海企业网站制作名解悉的主机名为星号* ...

最新文章

  1. 想一下,最大公约数怎么求
  2. IIS问题解决之——无法访问数据库
  3. 华硕主板如何u盘启动电脑
  4. 12306能删候补订单记录_「实用」官方“捡漏”神器来了!12306铁路候补购票服务正式上线!...
  5. yii和mysql apache_配置Apache,php5,mysql ,以及配置yii框架的简介
  6. mysql 多个网卡_seriver -- 多个网卡只能认到一个网卡的解决方法
  7. 在线公开课 | 前端工程师如何突破瓶颈更好地变现自己
  8. R语言入门1:安装R和RStudio
  9. 解决办法:一切都正确,Python3执行PyImport_Import()一直返回NULL
  10. 途胜怎样与android手机互联,现代途胜车载蓝牙怎么连接,途胜手机互联映射教程...
  11. java 新特性-TWR(Try-with-resources)
  12. APK无法识别gsensor问题剖析
  13. 洛谷P3987 我永远喜欢珂朵莉~(set 树状数组)
  14. QML 地图修改插件源码(三),Map在Plugin中设置加载地图类型
  15. 自组织竞争网络(SOM)
  16. 人类会被人工智能取代吗
  17. matlab里面的vpa函数,matlab用vpa函数之后怎么科学计数法
  18. 滑雪在日本 之 新泻篇 3
  19. 《西部世界》S2E9:蝶化庄周,浮生若梦
  20. Laravel Carbon

热门文章

  1. 阿里云mysql gtid_深入理解MySQL 5.7 GTID系列(八):GTID带来的运维改变
  2. 分享113个助理类简历模板,总有一款适合您
  3. htmlunit模拟登录
  4. 洛谷 P5738歌唱比赛 题解
  5. Acwing66周赛+Leetcode308周赛
  6. 深入浅出KNN算法(一) KNN算法原理
  7. 有趣的自然语言处理资源集锦
  8. 《软件工程》第2章软件过程
  9. linux awk 数组,shell数组和awk数组
  10. 窗口 - dialog - 概述与基本使用