哪里有免费招聘网站,国外域名购买网站,博物馆展陈设计公司,手机访问另一部手机访问文件1. 需求描述 目前鸿鹄暴露出来的重要ports如下表#xff1a; 在实际的生产环境中#xff0c;结合我司的使用场景#xff0c;需要在鸿鹄前端安装proxy#xff0c;用以解决如下两个问题#xff1a; 1.1 实现http到https的强制跳转 企业环境中#xff0c;一般会关闭http 80端…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特别是cookiesize超过了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-streamdynamic 由于nginx的编译参数为--with-streamdynamic 这样需要安装额外的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新的功能以更好地满足企业级的数据安全通信需求。