4. 直接响应配置
直接响应指Sidecar代理无需转发请求至后端服务,直接向客户端返回预设响应内容和状态码,适用于拦截无效请求、返回默认结果、降级兜底等场景。

4.1 核心配置示例
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: demo-service-vs
namespace: default
spec:
hosts:
- demo-service
http:
- match:
- uri:
exact: /health/check
directResponse:
status: 200 # 响应状态码
body: # 响应体内容
string: '{"status":"healthy","code":200}' # 字符串格式响应
# 直接响应场景下无需配置route字段4.2 降级兜底示例
http:
- match:
- uri:
prefix: /api
route:
- destination:
host: demo-service
subset: v1
retries: # 重试失败后触发直接响应
attempts: 2
perTryTimeout: 1s
- directResponse: # 兜底响应
status: 503 # 响应状态码
body:
string: '{"msg":"service temporarily unavailable","code":503}'4.3 操作注意事项
直接响应的响应体仅支持字符串格式,若需JSON响应需手动格式化字符串,确保语法正确。
建议仅在降级、健康检查等简单场景使用,复杂响应需通过后端服务处理。
作者:叶奕珺 创建时间:2026-01-23 14:45
最后编辑:叶奕珺 更新时间:2026-01-30 18:08
最后编辑:叶奕珺 更新时间:2026-01-30 18:08