--- title: "HTTP 服务类型配置" date: 2026-02-22 lastmod: 2026-02-22 description: "控制 HTTP 服务传输实现的配置说明" tags: ["HTTP", "传输层", "性能配置"] summary: "配置项作用 # http.type 配置项指定 HTTP 服务器使用的传输实现类型,决定处理 HTTP 请求的底层网络栈。 是否可选 # 是 默认值 # netty4 配置项类型 # 静态配置 - 需要重启节点才能生效 可用选项 # 类型 说明 适用场景 netty4 Netty4 HTTP 传输(默认) 大多数场景 nio-http-transport Java NIO HTTP 传输 特定性能需求 com.infinilabs.security.http.SecurityHttpServerTransport 安全 HTTP 传输(SSL) 启用安全功能 com.infinilabs.security.http.SecurityNonSslHttpServerTransport 安全 HTTP 传输(非 SSL) 启用安全功能但无 SSL 配置格式 # # 默认配置(推荐) http." --- ## 配置项作用 `http.type` 配置项指定 HTTP 服务器使用的传输实现类型,决定处理 HTTP 请求的底层网络栈。 ## 是否可选 是 ## 默认值 ``` netty4 ``` ## 配置项类型 **静态配置** - 需要重启节点才能生效 ## 可用选项 | 类型 | 说明 | 适用场景 | |------|------|---------| | `netty4` | Netty4 HTTP 传输(默认) | 大多数场景 | | `nio-http-transport` | Java NIO HTTP 传输 | 特定性能需求 | | `com.infinilabs.security.http.SecurityHttpServerTransport` | 安全 HTTP 传输(SSL) | 启用安全功能 | | `com.infinilabs.security.http.SecurityNonSslHttpServerTransport` | 安全 HTTP 传输(非 SSL) | 启用安全功能但无 SSL | ## 配置格式 ```yaml # 默认配置(推荐) http.type: netty4 # 使用 NIO 传输 http.type: nio-http-transport # 使用安全传输 http.type: com.infinilabs.security.http.SecurityHttpServerTransport ``` ## 传输实现对比 **Netty4 传输(默认):** - 使用 Netty 框架 - 支持管道化 - 内置压缩支持 - 高级 TCP 调优选项 - 适合高吞吐量场景 **NIO 传输:** - 使用 Java NIO - 非阻塞 I/O - 不同的线程模型 - 特定性能需求的替代方案 **安全传输:** - 提供身份认证和授权 - 审计日志功能 - SSL/TLS 终止 - 安全头处理 - 启用安全功能时必需 ## 推荐设置 | 场景 | 推荐值 | 说明 | |------|--------|------| | 默认配置 | netty4 | 经过充分测试 | | 高吞吐量 | netty4 | 性能优化 | | 启用安全 | SecurityHttpServerTransport | 必须使用安全传输 | | 特定需求 | nio-http-transport | 需要基准测试验证 | ## 使用示例 **默认配置(推荐):** ```yaml http.type: netty4 ``` **启用安全功能:** ```yaml http.type: com.infinilabs.security.http.SecurityHttpServerTransport ``` **使用 NIO 传输:** ```yaml http.type: nio-http-transport ``` ## 配置验证 ```bash # 查看当前配置 GET /_nodes/settings?filter_path=nodes.*.http.type # 查看传输信息 GET /_nodes ``` ## 注意事项 1. **静态配置**:修改类型需要重启节点 2. **默认推荐**:大多数场景使用 netty4 3. **安全功能**:启用安全时必须使用安全传输 4. **性能测试**:使用 NIO 前应进行基准测试 5. **兼容性**:不同实现可能有功能差异 ## 相关配置项 | 配置项 | 默认值 | 说明 | |-------|-------|------| | `http.port` | 9200-9300 | HTTP 服务端口 | | `http.compression` | true | 响应压缩 | ## 完整配置示例 ```yaml # easysearch.yml # 默认配置 http.type: netty4 http.port: 9200 # 启用安全功能 http.type: com.infinilabs.security.http.SecurityHttpServerTransport http.port: 9200 ```