<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>故障注入功能 :: NJET文档</title>
    <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/faultinject/index.html</link>
    <description></description>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Fri, 15 Aug 2025 10:14:23 +0800</lastBuildDate>
    <atom:link href="https://docs.njet.org.cn/docs/v4.0.1/reference/http/faultinject/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>故障注入</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/faultinject/faultinject/index.html</link>
      <pubDate>Thu, 14 Aug 2025 17:47:06 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/http/faultinject/faultinject/index.html</guid>
      <description>1. 功能说明 HTTP1和HTTP2故障注入，支持中止(abort)来自下游服务的Http请求，和/或延迟(delay)代理请求,一个故障规则必须具有延迟或中止或两者兼有。在将HTTP请求转发到路由中指定的目的地时，可以注入一个或多个故障。故障注入策略应用于客户端HTTP流量：&#xA;延迟规范用于在请求转发路径中注入延迟。&#xA;中止规范用于提前中止一个请求，并返回一个预先指定的错误码。&#xA;注意：当客户端启用故障时，将不会启用超时或重试。&#xA;2.依赖模块 故障注入依赖模块:&#xA;load_module modules/njt_http_dyn_fault_inject_module.so; 3. 指令说明 故障注入主要有三种类型，同一个location下，只允许配置一种：&#xA;Delay: 只注入延迟故障，延迟时间到后，再发起对upstream的连接请求&#xA;Abort：只注入中止故障，收到客户端请求，直接将注入的状态码返回给客户端，结束请求&#xA;Delay+Abort：同时注入延迟故障和abort故障，先进行延迟，延迟时间到后，直接返回abort设置的状态码给客户端，结束请求，不再发起对upstream的连接请求&#xA;3.1 fault_inject Syntax: fault_inject type={type} delay_duration={duration} status_code={code} delay_percentage={pct} abort_percentage={pct}; Default: - Context: location 参数介绍： 参数 类型 必填 说明 type={type} string 是 delay、abort、delay_abort 三者之一delay：延迟注入类型abort：中止注入类型delay_abort: 延迟+中止注入类型 delay_duration={duration} string 是（delay和delay_abort 必填） delay时间， 1h/1m/1s/1ms， 必须&gt;=1ms status_code={code} uint 是 （abort和delay_abort 必填） code设置注入返回码， [200, 600] delay_percentage={pct} uint 可选，默认100 （100%） 设置注入delay请求的百分比，默认是100%， 范围： [1, 100], eg: 1表示1%， 10表示10% abort_percentage={pct} uint 可选，默认100 （100%） 设置注入abort请求的百分比，默认是100%， 范围： [1, 100], eg: 1表示1%， 10表示10% Abort 功能: 按照设置的百分比概率，对命中的请求直接返回指定的status_code Syntax: fault_inject type=abort status_code={code} abort_percentage={pct}; Default: - Context: location 参数介绍：</description>
    </item>
    <item>
      <title>动态故障注入</title>
      <link>https://docs.njet.org.cn/docs/v4.0.1/reference/http/faultinject/dyn_faultinject/index.html</link>
      <pubDate>Fri, 15 Aug 2025 10:14:23 +0800</pubDate>
      <guid>https://docs.njet.org.cn/docs/v4.0.1/reference/http/faultinject/dyn_faultinject/index.html</guid>
      <description>1. 功能说明 动态故障注入功能可以通过声明式api对故障注入进行动态配置。&#xA;2.依赖模块 本功能和故障注入相同，均依赖模块:&#xA;load_module modules/njt_http_dyn_fault_inject_module.so; 3. 参考配置 helper broker modules/njt_helper_broker_module.so conf/mqtt.conf; helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf; load_module modules/njt_http_dyn_fault_inject_module.so; worker_processes auto; cluster_name helper; node_name node1; error_log logs/error.log info; pid logs/njet.pid; events { worker_connections 1024; } http { dyn_kv_conf conf/iot-work.conf; include mime.types; default_type application/octet-stream; access_log logs/access.log; upstream backend1 { zone backend1 128k; server 192.168.40.150:5678; } server { listen 0.0.0.0:5555; server_name localhost; location / { proxy_pass http://backend1; location /test_faultinjection { # fault_inject type=delay delay_duration=5s status_code=404 delay_percentage=100 abort_percentage=100; proxy_next_upstream_tries 0; #关闭重试 proxy_next_upstream_timeout 0; #关闭超时 proxy_pass http://backend1; location /test_faultinjection/test_test_faultinjection { proxy_next_upstream_tries 0; #关闭重试 proxy_next_upstream_timeout 0; #关闭超时 proxy_pass http://backend1; } } } } 4. 调用样例 4.1 API说明 查询接口：</description>
    </item>
  </channel>
</rss>