- 博客(24)
- 收藏
- 关注
原创 【Nginx】Nginx中定义自己的HTTP模块
需要定义一个ngx_command_t数组,并设置在出现 mytest 配置后的解析方法由 ngx_http_mytest“担当”。下图为ngx_command_t数组详解。0,NULL},其中,ngx_http_mytest是ngx_command_t结构体中的set 成员,当在某个配置块中出现 mytest 配置项时,Nginx 将会调用ngx_http_mytest方法。如果没有什么是必须在HTTP框架初始化时完成,可以向下面一样进行定义。*** 模块的定义*/NULL,NULL,
2025-03-12 19:38:26
683
原创 【Nginx】Nginx中Handler与Filter模块的区别
Handler 模块用于处理 HTTP 请求的核心逻辑,例如生成响应内容、转发请求、返回静态文件等。:Handler 模块可以直接生成 HTTP 响应内容(如返回 HTML、JSON 等)。:对响应内容进行加工,如 Gzip 压缩、响应头修改、内容替换等。:实现核心业务逻辑,如动态内容生成、反向代理、静态文件服务等。:多个 Filter 模块可以依次对响应内容进行处理。:用于加工响应内容,适合对响应进行修改或增强。:用于生成响应内容,适合实现核心业务逻辑。需要对响应内容进行加工(如压缩、加密)。
2025-03-11 12:00:00
524
原创 进程与线程区别总结
例如,Web服务器(如Nginx)通常使用多进程+多线程的混合模型,以兼顾并发性和稳定性。:如金融系统、操作系统内核等,进程间隔离可以减少安全风险。:如科学计算、图像处理等,多进程可以充分利用多核CPU。:进程间通信需要通过明确的机制,减少数据竞争的风险。:线程间可以直接共享数据,适合需要频繁通信的场景。:如浏览器、虚拟机等,每个进程需要独立的内存空间。:线程共享进程的内存空间,创建和切换的开销较小。:进程间相互隔离,一个进程崩溃不会影响其他进程。:如关键服务,一个进程崩溃不会影响其他进程。
2025-03-10 14:30:22
387
原创 软件工程与软件开发流程
角色(PO、Scrum Master、开发团队)、工件(产品待办列表、Sprint目标)、事件(每日站会、Sprint评审)。它不仅是技术实践,还涉及。:代码生成(GitHub Copilot)、自动化测试(AI驱动测试用例)。:针对支付接口的API测试(Postman)、性能压测(模拟峰值交易量)。:持续集成(代码提交自动构建测试)、持续部署(自动发布到生产环境)。:日志分析(ELK Stack)、性能监控(Prometheus)。:数据传输加密(TLS 1.3)、访问控制(RBAC)、审计日志。
2025-03-09 20:01:14
542
原创 搭建linux虚拟机实现与主机网络互通
169.254.x.x 地址表示虚拟机未能获取到有效IP,需要检查VirtualBox Host-Only网络的DHCP配置或手动设置IP。如果虚拟机需要访问外部网络,建议使用NAT或桥接模式,而不是Host-Only模式。通过正确配置网络适配器和IP地址,可以解决虚拟机无法获取IP的问题。
2025-03-06 21:07:18
657
原创 FTP协议主动模式(PORT)与被动模式(PASV)
主动模式适合简单内网环境,被动模式更适合复杂的公网环境。现代FTP工具默认使用被动模式,以兼容防火墙/NAT。
2025-03-05 12:00:00
719
原创 FTPS与SFTP的区别
FTPS(FTP over SSL/TLS)和SFTP(SSH File Transfer Protocol)是两种完全不同的安全文件传输协议,其技术实现、协议基础和适用场景差异显著。RFC 4253(SSH协议)、RFC 4254(SFTP)基于SSH协议的子协议(网络层+安全传输层)基于SSH密钥对(RSA/Ed25519等)使用标准SSH库(如libssh)简化开发。控制通道:21(显式)/990(隐式)SSL/TLS加密(如TLS 1.3)类似FTP(LIST/CWD等命令)
2025-03-04 21:48:26
941
原创 java字符串转int和int转字符串
使用 String.valueOf(int) 方法或 Integer.toString(int) 方法将整数转换为字符串。使用 Integer.parseInt(String) 方法将字符串转换为整数。
2024-01-23 11:33:16
426
1
原创 openssl将证书(公钥)和私钥合并成pfx格式文件(C语言版)
首先需要将证书和私钥加载到内存中。可以使用函数 PEM_read_bio_X509() 和 PEM_read_bio_PrivateKey() 分别读取证书和私钥的数据,存储到 X509 和 EVP_PKEY 结构体中。其中 cert_data 和 key_data 分别是证书和私钥的 BASE64 编码字符串,cert_data_len 和 key_data_len 分别是字符串的长度。使用函数 PKCS12_create() 创建 PKCS#12 对象,将证书和私钥绑定到该对象上。
2023-04-12 15:17:25
2056
原创 常用命令记录
这里指定为/dev/zero是Linux的一个伪文件,它可以产生连续不断的null流(二进制的0)bs=BYTES : 每次读写的字节数,可以使用单位K、M、G等等。另外输入输出可以分别用ibs、obs指定,若使用bs,则表示是ibs和obs都是用该参数。2、查询所有隐藏文件并删除:find . -type d -name “.svn”|xargs rm -rf。3、抓包命令:tcpdump -i eth0 port 10108 -s 0 -vv -w 3.pcap。8、查看根目录磁盘剩余空间。
2023-04-11 10:33:58
105
原创 log4j2漏洞复现
JNDI:RMI注入:import com.sun.jndi.rmi.registry.ReferenceWrapper;import javax.naming.Reference;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;public class RMIServer { public static void main(String[] args) { try {
2021-12-17 10:18:39
106
原创 nginx配置详解
################################################################################################################### main全局配置 ##############################
2021-12-06 16:28:49
175
原创 centos6更换yum源
1.首先备份原来的centos官方yum源cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak2.获取阿里的yum源覆盖本地官方yum源wget -O /etc/yum.repos.d/CentOS-Base.repo http://www.xmpan.com/Centos-6-Vault-Aliyun.repo3.清理yum缓存,并生成新的缓存yum clean allyum makecache
2021-12-06 16:05:53
2625
原创 C语言十六进制打印demo
C语言日志打印demo/************************************************************ 日志信息************************************************************/#define LOG_ERROR(info, args...) \ do {
2021-12-06 10:02:18
321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人