--- title: "HTTP UI 界面启用配置" date: 2026-03-25 lastmod: 2026-03-25 description: "控制 HTTP Web UI 界面访问的配置说明" tags: ["HTTP", "Web界面", "安全配置"] summary: "配置项作用 # http.ui.enabled 配置项控制是否启用 Easysearch 的 Web UI 管理界面访问。当启用时,可以通过 HTTP 访问静态 Web 文件。 是否可选 # 是 默认值 # true (启用 Web UI) 配置项类型 # 静态配置 - 需要重启节点才能生效 配置格式 # # 启用 Web UI(默认) http.ui.enabled: true # 禁用 Web UI http.ui.enabled: false 工作原理 # ┌─────────────────────────────────────────────────────────┐ │ Web UI 访问流程 │ └─────────────────────────────────────────────────────────┘ 客户端请求 │ │ GET /_ui/ ▼ 检查 http.ui.enabled │ ├── true → 提供 UI 文件 │ │ │ └── 返回静态资源 │ └── false → 返回 403 Forbidden "UI access is disabled" 访问路径 # 启用后可通过以下路径访问:" --- ## 配置项作用 `http.ui.enabled` 配置项控制是否启用 Easysearch 的 Web UI 管理界面访问。当启用时,可以通过 HTTP 访问静态 Web 文件。 ## 是否可选 是 ## 默认值 ``` true (启用 Web UI) ``` ## 配置项类型 **静态配置** - 需要重启节点才能生效 ## 配置格式 ```yaml # 启用 Web UI(默认) http.ui.enabled: true # 禁用 Web UI http.ui.enabled: false ``` ## 工作原理 ``` ┌─────────────────────────────────────────────────────────┐ │ Web UI 访问流程 │ └─────────────────────────────────────────────────────────┘ 客户端请求 │ │ GET /_ui/ ▼ 检查 http.ui.enabled │ ├── true → 提供 UI 文件 │ │ │ └── 返回静态资源 │ └── false → 返回 403 Forbidden "UI access is disabled" ``` ## 访问路径 启用后可通过以下路径访问: - `/_ui/` - 主界面 - `/_ui/{file}` - 具体文件 - `/_ui/assets/{file}` - 资源文件 ## 安全特性 内置安全保护: 1. **路径遍历保护** - 防止访问 `_ui` 目录外的文件 2. **目录列表禁用** - 不允许列出目录内容 3. **仅限常规文件** - 只能访问文件 4. **CSP 策略** - 强制内容安全策略 ## 推荐设置 | 环境 | 推荐值 | 说明 | |------|--------|------| | 开发环境 | true | 便于调试和管理 | | 测试环境 | true | 方便测试 | | 生产环境 | false | 关闭不必要的访问入口 | | 高安全环境 | false | 减少攻击面 | ## 使用示例 **默认配置:** ```yaml http.ui.enabled: true ``` **生产环境配置:** ```yaml # 禁用 Web UI http.ui.enabled: false ``` ## 安全建议 **生产环境最佳实践:** 1. **禁用 Web UI** ```yaml http.ui.enabled: false ``` 2. **如果必须启用,配合身份认证** ```yaml http.ui.enabled: true # 配置身份认证 xpack.security.enabled: true ``` 3. **限制访问来源** - 使用防火墙限制访问 - 配置反向代理进行认证 ## 配置验证 ```bash # 查看当前配置 GET /_nodes/settings?filter_path=nodes.*.http.ui.enabled # 测试 UI 访问 curl -I http://localhost:9200/_ui/ # 预期响应(启用时): # HTTP/1.1 200 OK # 预期响应(禁用时): # HTTP/1.1 403 Forbidden ``` ## 常见问题 **问题 1:UI 访问被拒绝** **错误信息:** ``` UI access is disabled ``` **解决方案:** ```yaml # 检查配置 http.ui.enabled: true ``` **问题 2:UI 文件未找到** 检查是否安装了包含 UI 的插件。 ## 注意事项 1. **静态配置**:修改设置需要重启节点 2. **安全考虑**:生产环境建议禁用 3. **路径保护**:内置路径遍历保护 4. **插件依赖**:UI 功能由插件提供 5. **独立控制**:不影响其他 HTTP 功能 ## 相关配置项 | 配置项 | 默认值 | 说明 | |-------|-------|------| | `http.enabled` | true | HTTP 服务总开关 | | `http.port` | 9200-9300 | HTTP 服务端口 | ## 完整配置示例 ```yaml # easysearch.yml # 生产环境配置 http.ui.enabled: false # 开发环境配置 http.port: 9200 http.ui.enabled: true ```