哪吒监控+cfcdn+ 反代grp端口

哪吒监控+cfcdn+ 反代grp端口

背景:

  • 哪吒监控:感觉VPS线路不稳定,为了打消自己潜意识,希望量化延迟。

  • cfcdn:隐藏真实站点,保障小鸡隐秘安全

  • 反代grpc端口: 反代grpc到支持https(TLS)的端口,这样dashboard与agent的grpc传输会开启TLS安全传输。CF只支持443,这里反代grpc端口到443

具体步骤:

参考文档里面有详细步骤这里只列出一些关键点

安装 Dashboard |官方文档

Nezha Monitoring | 大数据最佳实践

需要准备
  • GitHub oauth2账号

  • cf上两个域名

接入GitHub作为后台管理员账号

使用oauth2登录极大的提高了自建应用的安全性,好评

安装Dashboard

我是用docker compose 安装

9080:dashboard端口

5555:dashboard与agent通信端口

services:dashboard:image: ghcr.io/naiba/nezha-dashboardrestart: alwayscontainer_name: nezhavolumes:- ./data:/dashboard/data- ./static-custom/static:/dashboard/resource/static/custom:ro- ./theme-custom/template:/dashboard/resource/template/theme-custom:ro- ./dashboard-custom/template:/dashboard/resource/template/dashboard-custom:roports:- 9080:80- 5555:5555

NG配置

反代Dashboard

https能力需NG提供,访问路径是:https://域名 -> NG:443 ->dashboaed 9080

一个是反代/ 一个是反代理ws 一个反代terminal

 location / {proxy_pass http://127.0.0.1:9080;proxy_set_header Host $http_host;proxy_set_header      Upgrade $http_upgrade;}location ~ ^/(ws|terminal/.+)$  {proxy_pass http://127.0.0.1:9080;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_set_header Host $http_host;}tp_host;
}
SNI分流
  • Dashboard不支持DOMAIN_PATH,需独占一个域名。使用xxxx.eu.org

  • dashboard与 agent grpc端口需要反代到443,也需要独占一个域名。使用data.xxxx.eu.org

两个域名都监听443,所以ng上配置域名SNI分流

创建 /etc/nginx/conf.d/sni.stream 配置。定义一个map,proxy_pass 带给后端端口

9443:Dashboard

10443:data

map $ssl_preread_server_name $backend_name {xxxx.eu.org cf;data.xxxx.eu.org cf-cat;
}
upstream cf {server 127.0.0.1:9443;server [::1]:9443;
}upstream cf-data {server 127.0.0.1:10443;server [::1]:10443;
}server {listen 443 reuseport;listen [::]:443 reuseport;proxy_pass $backend_name;ssl_preread on;proxy_protocol on;
}

/etc/nginx/nginx.conf 中引入sni分流的stream

stream {log_format basic '$remote_addr [$time_local] ''$protocol $status $bytes_sent $bytes_received ''$session_time $ssl_preread_server_name';include /etc/nginx/conf.d/*.stream;
}

这样就可以按照SNI域名分流到后端的Dashboard或者grpc了

反代grp端口到443

dashboard与agent grpc使用https更加安全,我因为使用CF,所以反代grpc端口到443,开启TLS安全传输

官方文档很详细:反向代理 gRPC 端口(支持 Cloudflare CDN) | 哪吒监控

grpc默认就安全的?

grpc默认传输如果没有TLS证书,抓包看看,TCP里面是明文的

在这里插入图片描述

看看agent的源码

agent/cmd/agent/main.go at f882ca3498c0766784e31ba454bb09934a118fd3 · nezhahq/agent · GitHub

securityOption = grpc.WithTransportCredentials(insecure.NewCredentials())没有TL证书,默认grpc就是不安全

为什么使用CF的CDN

隐藏源站IP,而且CF CDN支持grpc

哪吒监控Agent按照

安装 Agent | 哪吒监控

简图

在这里插入图片描述

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

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

相关文章

Tomcat启动闪退问题及解决方法

Tomcat启动闪退问题可能由多种原因引起,以下是一些常见的原因及相应的解决方法,按照清晰的结构进行归纳: 一、环境变量问题 Java环境问题:Tomcat依赖于Java环境,如果JDK未正确安装或环境变量配置不正确,会…

Elasticsearch 认证模拟题 - 3

1、题目 有一索引有 3 个字段,请写一个查询去匹配这三个字段,并且将三个字段的评分相加作为最后的总评分 # 创建索引 PUT task {"mappings": {"properties": {"fielda":{"type": "text"},"fie…

TrueNAS开启SSH登录ROOT

简介: 从 SCALE Bluefin 22.12.0 开始,为了加强安全性并遵守联邦信息处理标准 (FIPS),root帐户登录已被弃用。所有 TrueNAS 用户都应创建具有所有必需权限的本地管理员帐户,并开始使用它来访问 TrueNAS。当根用户密码被禁用时,只有管理用户帐户才能登录 TrueNAS Web 界面。…

从零学算法2965

2965. 找出缺失和重复的数字 给你一个下标从 0 开始的二维整数矩阵 grid,大小为 n * n ,其中的值在 [1, n2] 范围内。除了 a 出现 两次,b 缺失 之外,每个整数都 恰好出现一次 。 任务是找出重复的数字a 和缺失的数字 b 。 返回一个…

轮状病毒简介-卡梅德生物

轮状病毒是一种非常常见的病毒,主要影响婴幼儿和小孩,引起严重的胃肠炎,表现为严重腹泻、呕吐、发烧和脱水。这种病毒全球流行,是全世界五岁以下儿童因腹泻导致死亡的主要原因之一。轮状病毒属于Reoviridae家族,具有双…

逻辑回归【python,机器学习,算法】

逻辑回归是一种有监督的学习分类算法,用于预测目标变量的概率。目标或因变量的性质是二分法的,这意味着将只有两个可能的类。主要解决二分类问题。 主要步骤有三个: 求线性回归曲线。通过 sigmoid 函数将线性回归曲线转为 0-1 范围函数。 …

机器学习-11-使用kaggle命令下载数据集和操作指南

参考kaggle API 命令下载数据集 参考Kaggle操作完整指南(2023版) 参考Kaggle如何入门? 1 kaggle操作指南 Kaggle 是一个流行的数据科学竞赛平台。由 Goldbloom 和 Ben Hamner 创建于 2010 年。为什么这两个家伙要创立这样一个平台呢? 数据科学社区一直有这样一个难题:对…

低代码开发平台(Low-code Development Platform)的模块组成部分

低代码开发平台(Low-code Development Platform)的模块组成部分主要包括以下几个方面: 低代码开发平台的模块组成部分可以按照包含系统、模块、菜单组织操作行为等维度进行详细阐述。以下是从这些方面对平台模块组成部分的说明: …

docker安装mysql8和mysql5.7

1.docker安装mysql5.7,请点击此链接 2.docker安装mysql8并挂载数据卷 docker pull mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORDmy-secret-pw -d mysql:8.0 docker run --name mysql8 -e MYSQL_ROOT_PASSWORD123456 -v /mqq/mysql8/datadir:/var/lib/mysql -d…

虚拟dom的理解

由普通的js对象来描述dom对象,是对于真实dom的映射,因为不是真实的dom对象所以叫虚拟dom。因为js处理数据的速度比操作dom的速度更快,性能更好,所以让现代这些react vue 等框架都采用了虚拟dom。 key值是唯一性的,在虚拟dom树进行…

【喜报】科大睿智服务企业通过CMMI3级认证

​北京建投科信科技发展股份有限公司(以下简称“北京建投科技” )前身为北京银帝科技发展公司,成立于1993年,注册资本6,000万元,为中国建银投资有限责任公司(简称“中国建投”)的成员企业建投华…

现在,所有人都能免费用GPT-4o了!

OpenAI今日官宣,ChatGPT正式向所有用户免费开放!所有用户均可以访问定制化GPT、分析图表、询问有关照片的问题以及5月初GPT-4o添加的其他功能。 OpenAI今天在X上发布推文: 「所有ChatGPT免费用户现在都可以使用浏览、视觉、数据分析、文件上…

element table表格行列合并span-method,根据数据动态行列合并

表格行列合并需要用到 table的方法 span-method 根据数据来进行动态的行列合并&#xff0c;实例如下&#xff1a; <el-table:data"tableData":span-method"objectSpanMethod" style"width: 100%"><el-table-columnprop"key"l…

mac电脑生成文件下载URL

1.首先打开web共享&#xff0c;终端方式。 开始 sudo apachectl start 停止&#xff1a; sudo apachectl stop 重启&#xff1a; sudo apachectl restart 2.将需要下载的文件 app.v1.6.12_note.apk /Library/WebServer/Documents/ 目录下 3. 同一网络下&#xff0c;直接用…

C++系列——————类和对象(上)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、面向对象的三大特征二、类的引入2.1类的定义 三.类的访问限定符3.1访问限定符的介绍3.2.访问限定符的使用 四、类的作用域五、类的实例化六、类对象模型6.1…

JavaScript的内存管理机制

No.内容链接1Openlayers 【入门教程】 - 【源代码示例300】 2Leaflet 【入门教程】 - 【源代码图文示例 150】 3Cesium 【入门教程】 - 【源代码图文示例200】 4MapboxGL【入门教程】 - 【源代码图文示例150】 5前端就业宝典 【面试题详细答案 1000】 文章目录 一、内存…

Pipecat: 创建语音对话agent的开源框架,支持多模态!

项目简介 pipecat 是用于构建语音&#xff08;和多模态&#xff09;对话代理的框架。诸如私人教练、会议助理、儿童讲故事玩具、客户支持机器人、摄入流程和尖刻的社交伙伴。 看看一些示例应用&#xff1a; 语音代理入门 您可以开始在本地计算机上运行 Pipecat&#xff0c;然…

Nginx(openresty) 开启目录浏览 以及进行美化配置

1 nginx 安装 可以参考:Nginx(openresty) 通过lua结合Web前端 实现图片&#xff0c;文件&#xff0c;视频等静态资源 访问权限验证&#xff0c;进行鉴权 &#xff0c;提高安全性-CSDN博客 2 开启目录浏览 location /file{alias /data/www/; #指定目录所在路径autoindex on; …

【数学不建模】赛程安排

你所在的年级有5个班&#xff0c;每班一支球队在同一块场地上进行单循环赛, 共要进行10场比赛. 如何安排赛程使对各队来说都尽量公平呢. 下面是随便安排的一个赛程: 记5支球队为A, B, C, D, E&#xff0c;在下表左半部分的右上三角的10个空格中, 随手填上1,2,10, 就得到一个赛程…

【机器学习】之 K-最近邻(KNN)算法原理及实现

K-最近邻&#xff08;K-Nearest Neighbors, KNN&#xff09;是一种简单且直观的监督学习算法&#xff0c;广泛应用于分类和回归任务。本文将介绍KNN算法的基本概念、实现细节以及Python代码示例。 基本概念 KNN算法的核心思想是&#xff1a;给定一个测试样本&#xff0c;根据…