• 简介
  • 配置
    • 模块配置文件
    • 规则配置文件
      • HeaderRule
      • Action
    • 内置动作说明
    • 内置变量说明
  • 示例

    简介

    根据自定义条件,修改请求或响应的头部。

    配置

    模块配置文件

    conf/mod_header/mod_header.conf

    1. [basic]
    2. DataPath = ../conf/mod_header/header_rule.data

    规则配置文件

    conf/mod_header/header_rule.data

    配置项 类型 描述
    Version String 配置文件版本
    Config Map<String, Array<HeaderRule>> 各产品线的规则配置

    HeaderRule

    配置项 类型 描述
    Cond String 条件原语
    Actions Array<Action> 执行动作列表

    Action

    配置项 类型 描述
    Cmd String 动作名称,详见下表
    Params Array<String> 动作参数列表

    内置动作说明

    动作名称 描述 参数列表说明
    REQ_HEADER_SET 设置请求头 HeaderName, HeaderValue
    REQ_HEADER_ADD 添加请求头 HeaderName, HeaderValue
    REQ_HEADER_DEL 删除请求头 HeaderName
    RSP_HEADER_SET 设置响应头 HeaderName, HeaderValue
    RSP_HEADER_ADD 添加响应头 HeaderName, HeaderValue
    RSP_HEADER_DEL 删除响应头 HeaderName

    内置变量说明

    可以通过 %variable 使用变量,参见下文示例

    变量名 描述
    bfe_client_ip 客户端IP
    bfe_client_port 客户端端口
    bfe_request_host 请求Host
    bfe_session_id 会话ID
    bfe_log_id 请求ID
    bfe_cip 客户端IP (CIP)
    bfe_vip 服务端IP (VIP)
    bfe_server_name 添加请求头
    bfe_cluster 目的集群
    bfe_backend_info 后端信息
    bfe_ssl_resume 是否tls/ssl会话复用
    bfe_ssl_cipher tls/ssl加密套件
    bfe_ssl_version tls/ssl协议版本
    bfe_protocol 访问协议
    client_cert_serial_number 客户端证书序列号
    client_cert_subject_title 客户端证书Subject title

    示例

    1. {
    2. "Version": "20190101000000",
    3. "Config": {
    4. "example_product": [
    5. {
    6. "cond": "req_path_prefix_in(\"/header\", false)",
    7. "actions": [
    8. {
    9. "cmd": "REQ_HEADER_SET",
    10. "params": [
    11. "X-Bfe-Log-Id",
    12. "%bfe_log_id"
    13. ]
    14. },
    15. {
    16. "cmd": "REQ_HEADER_SET",
    17. "params": [
    18. "X-Bfe-Vip",
    19. "%bfe_vip"
    20. ]
    21. },
    22. {
    23. "cmd": "RSP_HEADER_SET",
    24. "params": [
    25. "X-Proxied-By",
    26. "bfe"
    27. ]
    28. }
    29. ],
    30. "last": true
    31. }
    32. ]
    33. }
    34. }