- 博客(269)
- 资源 (3)
- 收藏
- 关注
原创 通过geoip自动更新GeoLite2-ASN GeoLite2-City GeoLite2-Country
注册登录成功之后,要想获取到免费产品的订阅信息,还需要同意GeoLite2 End User License Agreement协议,否则登录之后,在个人账号门户是看不到GeoLite2下载信息的。GeoIP.conf,填写对应的AccountID 账号IDLicenseKey 复制的License,都可在登录后的个人中心获取。执行命令,例如解压到了home下,可以配置crontab定时执行。上传到linux服务器上解压,修改GeoIP.conf文件。登录地址、填写邮箱、用户名、密码信息。
2025-12-21 20:26:46
402
原创 Classpath 核心定义
Java类路径(classpath)是JVM查找类和资源文件的核心机制,它定义了编译和运行时查找依赖的路径集合。文章详细解析了classpath的核心定义与作用:在编译时帮助javac定位依赖类,在运行时辅助JVM加载类和资源文件。介绍了四种配置方式:命令行临时指定(-cp)、系统环境变量、构建工具自动管理(Maven/Gradle)和应用容器配置(Tomcat)。重点阐述了动态修改classpath的三种方案:通过URLClassLoader反射添加路径(最常用)、自定义类加载器实现灵活控制,以及Java
2025-12-18 11:58:53
560
原创 如何在Kafka中使用SSL/TLS证书认证
本文详细介绍了在Kafka中配置SSL/TLS双向认证的完整流程。主要内容包括:使用keytool工具生成CA根证书、服务端证书和客户端证书;配置Broker端的密钥库、信任库及相关SSL参数;设置客户端的SSL认证信息;通过命令行工具验证认证功能。文章还提供了生产环境中的优化建议,如证书管理、性能调优和监控告警等注意事项,并列举了常见问题的排查方法。该指南适用于Kafka 2.8+版本,采用JKS格式证书,能够帮助用户快速实现高安全等级的Kafka通信加密。
2025-12-17 10:27:37
475
原创 Kafka 的认证机制
摘要:Kafka提供多种认证机制,包括SASL框架下的PLAIN(明文)、SCRAM(加密)、GSSAPI(Kerberos)、OAUTHBEARER(OAuth2.0)以及SSL/TLS证书认证和DelegationTokens。不同认证方式在安全等级、部署复杂度上存在差异:PLAIN简单但风险高,SCRAM适合生产环境,Kerberos适用于企业级统一认证,OAuth2.0适配云原生架构,SSL提供强身份验证。选型需根据场景需求,测试环境可用PLAIN,生产推荐SCRAM+SSL,企业级选择Kerber
2025-12-17 10:25:35
401
原创 docker build -t mytomcat:10.1-jdk17 -f Dockerfile-MyTomcat .
在专属构建目录下执行 build,此时上下文仅包含该目录的文件,不会扫描。等虚拟目录,Docker 会递归扫描所有文件,既慢又触发错误。
2025-12-02 10:00:12
400
原创 DOM 跨域
方案适用场景优点缺点推荐度API任意跨域场景安全、标准、功能强大、双向通信需要双方代码配合⭐⭐⭐⭐⭐主域相同的子域简单、方便适用范围极窄、降低安全性⭐⭐⭐ (仅限子域)兼容性要求极高的旧环境可传递大数据实现复杂、hacky、不安全⭐ (强烈不推荐)结论:首选。这是解决跨域 DOM 通信问题的标准、安全且正确的方法。无论你遇到的是哪种跨域场景,都是第一考虑方案。只有在你明确知道父页面和子页面是同一主域下的不同子域时,才可以考虑使用作为简化方案。请避免使用。
2025-11-25 22:21:28
778
原创 跨域问题浏览器的同源策略限制
跨域的核心是浏览器的同源策略限制—— 当一个请求的协议、域名、端口三者中任意一个与当前页面的源不同时,该请求就被视为 “跨域请求”。跨域本质:浏览器同源策略限制,客户端发起跨域请求,浏览器拦截响应。核心解决方案:Spring Boot 全局 CORS 配置(快速落地)、Nginx/Spring Cloud Gateway 反向代理(微服务架构推荐)。生产环境注意:避免,指定具体域名;开启 Cookie 跨域时需配置和;优先在网关层统一处理跨域。
2025-11-25 22:12:50
470
原创 Rfc6265CookieProcessor
是 Tomcat 服务器中负责处理 HTTP Cookie 的核心组件,它的核心价值在于标准化和安全化Cookie 的处理流程。核心功能:遵循 RFC 6265 标准,解析请求中的 Cookie 数据,生成符合标准的Set-Cookie响应头。主要特点:语法严格、安全性高、兼容性好,能有效避免 Cookie 注入、跨站请求伪造等安全风险。适用场景:所有基于 Tomcat 的 Java Web 应用(默认启用),尤其适合对安全性和兼容性要求较高的生产环境。
2025-11-21 10:48:59
306
原创 YamlConfigUtil
throw new IllegalArgumentException("YAML内容不能为空");// 1. 加载classpath下的application.yaml资源。// 注入Spring资源加载器,用于读取classpath资源。// 使用SafeConstructor确保安全解析。// 方法名与参数名区分开,参数表示YAML内容字符串。// 工具方法:将Resource转换为字符串。// 处理解析结果(示例:打印配置)// 2. 读取资源内容为字符串。// 3. 解析YAML内容。
2025-11-20 15:05:17
370
原创 docker运行apisix-java-runner
本文介绍了使用Docker Compose部署APISIX网关及其Dashboard的完整配置方案。通过YAML文件详细说明了各服务(httpbin、etcd、APISIX、Dashboard和JavaRunner)的容器配置和网络连接方式,重点阐述了APISIX与Java插件的集成实现。提供了Java插件开发示例(AddResponseHeaderPlugin),包括Spring Boot应用配置、插件过滤链实现和日志记录功能。整套方案实现了APISIX的扩展能力,支持通过前置扩展插件调用自定义Java逻
2025-11-19 16:18:29
158
原创 SSE模式和Websocket模式有什么区别
选择时需根据是否需要双向通信、数据类型、并发量等因素决定:简单的单向推送用 SSE 更轻量,复杂的双向交互用 WebSocket 更合适。
2025-11-18 10:58:38
485
原创 docker容器无法启动,排查问题的一种方法
这种方式启动,是可以连接到容器命令行的,根据具体的应用场景,可以选择这种方式进行问题排查。docker容器一直restarting,无法进入容器查看日志。进入容器后,启动java app的进程,发现是jdbc配置有问题。只需启动sh或者bash,进入容器后在执行命令。很多精简版的 Docker 镜像(比如基于。这种方式启动容器,进入内部是没有应用进程的。重新修改代码,编译、构建镜像,然后重新运行。或其他轻量发行版的镜像)默认不会安装。直接执行命令,手动运行。或者(根据实际情况)
2025-11-16 18:11:02
358
原创 nginx
HLS 网页播放:http://10.10.10.99:8080/live/mystream.m3u8(可用 VLC 或浏览器 + video.js 播放)RTMP 拉流地址(支持 VLC、PotPlayer 等播放器):rtmp://服务器IP:1935/live/stream_name。RTMP 拉流(用 VLC/PotPlayer):rtmp://10.10.10.99:1935/live/mystream。状态监控:http://10.10.10.99:8080/stat(查看推流 / 拉流状态)
2025-11-04 23:53:03
351
原创 语法从句说明描述
从句类型作用(充当成分)回答的问题位置关键标志定语从句定语(修饰名词)哪一个?什么样的?紧跟先行词关系代词/副词 (who, which, that, when, where)表语从句表语(说明主语)主语是什么/怎么样?系动词之后系动词 + 连接词 (that, whether, why, what)状语从句状语(修饰动词/句子)何时?何地?为何?在何条件下?句首或句尾从属连词 (when, because, if, although)一个综合例句来区分定语从句修饰名词。
2025-10-29 17:11:25
966
原创 nacos2.4.2使用sdk获取配置报错Response{resultCode=500, errorCode=300, message=‘config data not exist‘, reques
当名称空间是自定义时,namespace不是自定义的名称,而是自定义的命名空间ID,一个类似于UUID的值(09e6a2b9-c5b8-4401-a64b-1863dfb859d8)说明Nacos使用configService获取配置报错。当名称空间为public时,不需要指定namespace值。
2025-10-26 01:05:09
268
原创 hive启动报错
2025-09-29T22:42:52,693 INFO [main] service.CompositeService: 使用枷锁的方式停止了服务 ======= OperationManager。2025-09-29T22:42:52,693 INFO [main] service.CompositeService: 使用枷锁的方式停止了服务 ======= SessionManager。
2025-09-29 14:36:33
412
原创 Unable to create a Configuration, because no Jakarta Bean Validation provider could be found. Add a
报错内容:这个错误提示(如 Hibernate Validator),导致 Spring 无法初始化参数校验功能。
2025-09-23 10:40:23
486
原创 install_docker.sh
===================== 5. 配置华为云 Docker 源(确保纯净) =====================# ===================== 7. 启动 Docker 服务并配置开机自启 =====================# ===================== 9. 验证 Docker 功能 =====================# ===================== 1. 权限检查 =====================
2025-09-22 23:26:41
516
原创 springboot3.4.1集成pulsar
本文详细介绍了在Kubernetes环境中部署Apache Pulsar消息系统的完整过程,包括核心组件配置、管理界面部署以及与Spring Boot应用的集成。主要内容包括: 环境部署 使用Kubernetes v1.22.10和Kubesphere v3.4.1环境 部署Pulsar核心组件(ZooKeeper 3.8、BookKeeper和Broker) 通过ConfigMap配置各组件参数,优化内存使用和磁盘阈值 Pulsar管理界面 部署Pulsar Manager v0.4.0实现可视化监控 配
2025-09-21 15:55:58
671
原创 Pulsar Manager 0.4.0在linux上部署启动
目录结构如下./bin/pulsar-managerCSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token)curl \' \创建成功如下。
2025-09-20 23:24:57
403
原创 X-Forwarded-For
是一个事实上的标准 HTTP 请求头字段,用于标识一个通过 HTTP 代理或负载均衡器连接到 web 服务器的客户端的原始 IP 地址。告诉服务器,这个请求最初是从哪个真实的 IP 地址发起的。项目说明是什么一个用于传递HTTP请求原始客户端IP地址的非标准HTTP头字段。为何需要因为请求经过代理/负载均衡器后,服务器只能看到代理的IP,无法得知用户真实IP。如何工作代理服务器将请求的源IP地址附加到该字段的末尾,形成一个IP链。如何取值应用服务器通常取链中最左边的第一个IP作为真实用户IP。主要风险。
2025-09-18 21:56:54
699
原创 openeuler2203安装docker-build-x插件yum仓库配置
Last metadata expiration check: -1 day, 17:32:27 ago on 2025年09月10日 星期三 23时37分21秒.添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo。Error: 配置仓库失败。
2025-09-10 17:09:54
159
原创 arm容器启动spring-boot端口报错
问题描述:Action:解决:metadata:labels:spec:selector:template:metadata:labels:spec:env:ports:volumes:hostPath:---metadata:labels:spec:ports:port: 8080port: 9527selector:
2025-08-31 15:00:11
398
原创 DORIS单节点部署,使用HDFS存算分离
本文详细记录了Apache Doris 3.0.6.2存算分离集群的部署过程。主要内容包括:1)软件版本准备(Doris、JDK、FoundationDB等);2)Doris解压与环境变量配置;3)FoundationDB 7.1.38的部署与启动;4)MetaService服务的配置与启动;5)FE和BE节点的参数配置与启动;6)通过DBeaver连接验证集群;7)创建HDFS StorageVault存储库。部署过程中特别强调了版本兼容性、环境变量设置注意事项,并提供了常见错误的解决方法。完整流程涵盖了
2025-08-15 17:00:41
330
原创 检查端口占用
netstat -tunlp | grep 9060netstat -tunlp | grep 8040netstat -tunlp | grep 9050netstat -tunlp | grep 8060netstat -tunlp | grep 9070netstat -tunlp | grep 8030netstat -tunlp | grep 9020netstat -tunlp | grep 9030netstat -tunlp | grep 9010netstat -tunlp
2025-08-12 21:33:15
255
scala编写,以spark stream方式监听消费kafka的topic,同步写入elasticsearch
2023-11-06
spring-boot-clint webservice调用服务的例子
2023-08-05
spring-boot-webservice例子
2023-08-05
nfs-subdir-external-provisioner安装文件
2023-06-26
k8s-gitlab-ci-demo
2023-02-27
flink消费kafka数据存储到elasticsearch的演示deno
2022-07-23
flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar
2022-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅