使用Nginx实现采集端和数据分析平台的数据加密传输
1. 需求描述
目前鸿鹄暴露出来的重要ports如下表:

在实际的生产环境中,结合我司的使用场景,需要在鸿鹄前端安装proxy,用以解决如下两个问题:
1.1 实现http到https的强制跳转
企业环境中,一般会关闭http 80端口,但用户有时候会输入http://, 如果完全关闭的话,用户会抱怨连不上服务。所以实际的使用场景中,一般还是会开启80端口,但是会强制跳转到https 443端口。
1.2 实现数据采集端到鸿鹄之间的数据加密传输

如上图所示鸿鹄安装在VPC A内,对于VPC A内的应用程序来说,通过非加密传输,把日志传入鸿鹄系统,相对来说还算比较安全。
不过在企业级的环境中,有更多的应用程序处在VPC B和VPC C内,此时需要通过加密的方式,把日志Sink到鸿鹄内,要不然可能存在较大的信息泄漏风险。
2. 解决方案
2.1 安装Nginx
以CentOS 7为例,执行如下命令即可

2.2 实现http到https的强制跳转

把以上配置信息, 写入/etc/nginx/conf.d/nginx.conf; 此配置文件主要实现如下功能:
-
监听80 和 443端口,443端口配置为加密通信
-
如果用户以http协议请求,则执行强制跳转到https协议
-
设置合适的proxy buffers size以避免 “upstream sent too big header while reading response header from upstream”错误(鸿鹄返回的header,特别是cookie,size超过了nginx的默认值)
-
把请求代理到鸿鹄的18080端口
2.3 配置stream加密通信且代理到鸿鹄Vector 20000端口
2.3.1 前提条件
nginx只有在1.9.0及以上,才实现对stream的代理,所以首先需确保nginx的版本在1.9.0以上

nginx的stream是一个单独模块,需要在编译的时候,增加option "--with-stream", 执行nginx -V后,能看到系统安装的nginx编译的时候指定了option --with-stream=dynamic

由于nginx的编译参数为--with-stream=dynamic, 这样需要安装额外的nginx stream动态库来支持对stream的代理服务,如下执行安装即可

2.3.2 配置ngnix实现stream代理

把以上配置信息, 添加到/etc/nginx/nginx.conf; 此配置文件主要实现如下功能:
-
监听30000端口(由于鸿鹄和Nginx处在同一个机器上,因此Nginx这边配置为30000端口),且配置为加密通信
-
把请求代理到鸿鹄Vector的20000端口
2.3.3 重启Nginx后,验证端口30000是否已正确配置为加密传输


如上图所示,Nginx 30000端口已经正确配置TLS加密传输。
2.4 正确配置Vector采集端
默认情况下,Vector采集端会以非加密的方式和鸿鹄Vector建立连接,所以在鸿鹄生成的Vector配置基础上,基于上述配置,需要修改port为30000,同时设置tls.enabled = true, 如下所示:

后续工作
企业级应用中,加密传输是最基本的需求,上面的措施目前只实现了加密传输,采集端和接收端之间未进行认证。这就需要配合额外的措施来增加安全性,比如在鸿鹄主机上设置防火墙策略或者如果你的主机在云上,可以设置相应的网络安全组来增强安全机制。
题外话:截止本文写作时,Vector之间的通信还未实现认证机制( https://github.com/vectordotdev/vector/issues/2017), 希望Vector能尽快实现这一机制,届时,鸿鹄一定会更好地集成Vector新的功能,以更好地满足企业级的数据安全通信需求。
相关文章:
使用Nginx实现采集端和数据分析平台的数据加密传输
1. 需求描述 目前鸿鹄暴露出来的重要ports如下表: 在实际的生产环境中,结合我司的使用场景,需要在鸿鹄前端安装proxy,用以解决如下两个问题: 1.1 实现http到https的强制跳转 企业环境中,一般会关闭http 80端…...
appium---如何判断原生页面和H5页面
目前app中存在越来越多的H5页面了,对于一些做app自动化的测试来说,要求也越来越高,自动化不仅仅要支持原生页面,也要可以H5中进行操作自动化, webview是什么 webview是属于android中的一个控件,也相当于一…...
【WIFI】【WPS】如何从log角度判断WPS 已经连接上
在Android项目中,由于WPS在Framework 接口中已经remove了 只能通过wpa-supplicant 代码中去判断是否连接上了 这段代码log 表示 PBC模式下没有激活 09-21 22:42:16.221503 3782 3782 D wpa_supplicant: wlan0: 0: 04:cf:4b:21:a0:3e ssid=Openwrt-WPS-tp wpa_ie_len=0 rsn…...
[正式学习java①]——java项目结构,定义类和创建对象,一个标准javabean的书写
目录 一、创建第一个java文件 二、 初始类和对象 三、符合javabean规范的类 一、创建第一个java文件 要想写代码,你得有文件啊 以前的创建方式: 右键新建文本文档,开始写代码,写完改后缀名,保存……这样文件一旦多了…...
day36
今日内容概要 进程基础(操作系统中的概念) 进程调度算法(四种算法) 进程的并行和并发的概念 同步异步阻塞非阻塞的概念 创建进程(进程类Process) Process类的参数 Process类的方法 如何开启多进程 基于TCP协议的高并发程序 进程基础 进程它是操作系统中最重要的概念…...
五. 激光雷达建图和定位方案-开源SLAM
前面内容: 一. 器件选型心得(系统设计)--1_goldqiu的博客-CSDN博客 一. 器件选型心得(系统设计)--2_goldqiu的博客-CSDN博客 二. 多传感器时间同步方案(时序闭环)--1 三. 多传感器标定方案&a…...
SAP MM学习笔记37 - 请求书照合中的 追加请求/追加Credit 等概念/ 请求书的取消
有关请求书照合,之前学习了一部分,现在再来学其中的一些概念。 其实这些概念也许并不常用,但是你又不能不知道,因为客户会问。 有关请求书,贴一些以前学习的文章,以方便阅读。 SAP MM学习笔记33 - 请求书…...
【C#】Winform实现轮播图
复制后,需要修改的代码: 1、图片文件夹路劲:string folderPath "C:\\Users\\Administrator\\Desktop\\images"; 2、项目命名空间:namespace BuildAction 全窗口代码: using System; using System.Colle…...
MyBatisPlus(十九)自动填充
说明 自动填充指的是,当数据被 插入 或者 更新 的时候,会为指定字段进行一些默认的数据填充。 比如,插入时,会自动填充数据的创建时间和更新时间;更新时,会自动填充数据的更新时间。 实现方式 配置处理器…...
设计模式_命令模式
命令模式 介绍 定义案例问题堆积在哪里解决办法 行为形设计模式 就是把 “发布命令 执行命令”细化为多个角色 每个角色又能继续细化 发布命令 1 打印1-9 a 打印A-G 如果有更多的命令 命令处理方式更加多样性 更复杂 处理命令的顺序拆分角色:降低耦合度 命令类&am…...
python接口自动化测试(六)-unittest-单个用例管理
前面五节主要介绍了环境搭建和requests库的使用,可以使用这些进行接口请求的发送。但是如何管理接口案例?返回结果如何自动校验?这些内容光靠上面五节是不行的,因此从本节开始我们引入python单元测试框架 unittest,用它…...
tomcat 服务器
tomcat 服务器 tomcat: 是一个开源的web应用服务器。区别nginx,nginx主要处理静态页面,那么动态请求(连接数据库,动态页面)并不是nginx的长处,动态的请求会交给tomcat进行处理。 nginx-----转发动态请求-…...
如果你有一次自驾游的机会,你会如何准备?
常常想来一次说走就走的自驾游,但是光是想想就觉得麻烦的事情好多:漫长的公路缺少娱乐方式、偏僻拗口的景点地名难以导航、不熟悉的城市和道路容易违章…… 也因为如此,让我发现了HUAWEI HiCar这个驾驶人的宝藏! 用HUAWEI HiCar…...
关于ts的keyof
type props_type {name: string,age: number }const props: props_type {name: tjq,age: 18 }for (const key in props) { //props[key]出现红色波浪线const value props[key]; }why? 经过我查阅多方资料,在网上看到一个比较合适的例子 地址…...
Go实现CORS(跨域)
引言 很多时候,需要允许Web应用程序在不同域之间(跨域)实现共享资源。本文将简介跨域、CORS的概念,以及如何在Golang中如何实现CORS。 什么是跨域 如果两个 URL 的协议、端口(如果有指定的话)和主机都相…...
第一章:变量和简单的数据类型
第一节 变量 variable(变量),每个变量指向一个值————与该变量相关联的信息 message"hello python world!" print(message) 1.1变量的命名和使用 1.变量名只能包含数字(0~9)、字母(Aa~Zz)和下划线(_)。变量可以使用字母和下划线作为开头,…...
【初识Linux】:常见指令(2)
朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux的基础知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数…...
“torch.load“中出现的“Unexpected key(s) in state_dict“报错问题
问题: 解决: 添加strictFalse,允许加载过程中出现不匹配的键。但请注意,仍然需要确保模型中的主要参数能够正确加载,以确保模型的有效性。 model.load_state_dict(state_dict) # 改为: model.load_state_dict(state…...
使用dasviewer加载osgb模型,不显示纹理,黑乎乎的怎么解决?
答:查看一下是不是点到快捷键切换成无纹理模式了。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便快捷的数据浏览操作。#DasViewer##实景…...
Qtday01(qt简介、简单窗口组件)
今日任务 仿qq登录界面,QT实现 代码: 头文件: #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QLineEdit> #include <QLabel> #include <QPushButton> #include <QtDebug> #…...
Google I/O 2026最魔幻的一幕:发新模型的同时,Google砍了自己的CLI
5月19号凌晨,我刚躺下准备刷会儿手机睡觉,结果被朋友圈刷屏了。 Google I/O 2026,总共两个小时的 keynote,愣是让我看到凌晨两点。不是因为我有多敬业,而是信息量实在太大——大到我觉得不记下来,明天就忘了…...
SSH密钥不能直接访问phpMyAdmin:正确使用隧道方案
1. 这个标题里藏着三个根本性误解,先说清楚再动手 “如何安全的使用ssh秘钥访问phpmyadmin”——这句话本身就是一个典型的认知错位组合。我第一次在客户现场看到这个需求时,花了一整个下午才把技术逻辑理顺。 phpMyAdmin 本质上是一个运行在 Web 服务器…...
【文档编辑】打印小册子(一张A4纸4页内容)步骤
效果如下,使用“A4纸”打印变成“每一页是A5大小的翻页小册子”1、打开word格式说明书,另存为pdf格式(如果文件是pdf格式忽略步骤1) 2、用wps打开pdf文件 3、打印→打印方式:小册子→小册子子集:仅正面→装…...
如何在5分钟内掌握ToolsFx密码学工具箱:新手完全指南
如何在5分钟内掌握ToolsFx密码学工具箱:新手完全指南 【免费下载链接】ToolsFx 跨平台密码学工具箱。包含编解码,编码转换,加解密, 哈希,MAC,签名,大数运算,压缩,二维码功…...
OmenSuperHub:惠普游戏本性能优化的终极免费解决方案
OmenSuperHub:惠普游戏本性能优化的终极免费解决方案 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普OMEN游戏本设…...
FontCenter:AutoCAD字体管理终极解决方案,彻底告别字体缺失困扰
FontCenter:AutoCAD字体管理终极解决方案,彻底告别字体缺失困扰 【免费下载链接】FontCenter AutoCAD自动管理字体插件 项目地址: https://gitcode.com/gh_mirrors/fo/FontCenter 你是否曾经在打开AutoCAD图纸时遇到过字体缺失的尴尬?…...
Windows RTMP流媒体服务器搭建完整指南:nginx-rtmp-win32终极教程
Windows RTMP流媒体服务器搭建完整指南:nginx-rtmp-win32终极教程 【免费下载链接】nginx-rtmp-win32 Nginx-rtmp-module Windows builds. 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-rtmp-win32 想要在Windows系统上快速搭建自己的RTMP直播服务器…...
为Hermes Agent配置自定义Provider并指向Taotoken聚合服务
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为Hermes Agent配置自定义Provider并指向Taotoken聚合服务 Hermes Agent 是一个功能强大的智能体开发框架,它支持通过自…...
SPSS虚拟变量避坑指南:创建后如何正确用于回归分析?别让编码错误毁了你的模型
SPSS虚拟变量实战避坑:从编码到回归分析的完整解决方案 在数据分析领域,虚拟变量(Dummy Variable)是将分类变量转换为可用于回归分析形式的桥梁。许多研究者虽然掌握了SPSS生成虚拟变量的基础操作,却在后续分析中频频…...
库存分析怎么做?库存分析进阶3大法:ABC、CVA、IQR
一提到库存分析,很多人第一反应就是ABC分类法。听着是不是很熟?但说实话,如果只会这一招,现在可能不太够用了。最近我发现,很多企业的SKU数量翻着倍涨,市场波动也越来越没规律。靠老经验和统一规则去管库存…...
