fortinet.fortios.fortios_web_proxy_profile 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 Web 代理配置文件。

注意

此模块是 fortinet.fortios 集合(版本 2.3.8)的一部分。

如果您使用的是 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:fortinet.fortios.fortios_web_proxy_profile

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改 web_proxy 功能和配置文件类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数和值,需要在使用前调整到数据源。已使用 FOS v6.0.0 进行测试

要求

执行此模块的主机上需要以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 Fortigate 的 GUI 生成。

enable_log

布尔值

启用/禁用任务日志记录。

选择

  • false ← (默认)

  • true

member_path

字符串

要操作的成员属性路径。

如果存在多个属性,则用斜杠字符分隔。

标记有 member_path 的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

当指定 member_state 时,将忽略 state 选项。

选择

  • "present"

  • "absent"

state

字符串 / 必需

指示是创建还是删除对象。

选择

  • "present"

  • "absent"

vdom

字符串

虚拟域,在先前定义的那些域中。vdom 是 FortiGate 的一个虚拟实例,可以配置并用作不同的单元。

默认值: "root"

web_proxy_profile

字典

配置 Web 代理配置文件。

header_client_ip

字符串

对转发请求中的 HTTP 客户端 IP 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

header_front_end_https

字符串

对转发请求中的 HTTP 前端 HTTPS 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

header_via_request

字符串

对转发请求中的 HTTP via 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

header_via_response

字符串

对转发响应中的 HTTP via 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

header_x_authenticated_groups

字符串

对转发请求中的 HTTP x-authenticated-groups 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

header_x_authenticated_user

字符串

对转发请求中的 HTTP x-authenticated-user 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

header_x_forwarded_client_cert

字符串

对转发请求中的 HTTP x-forwarded-client-cert 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

header_x_forwarded_for

字符串

对转发请求中的 HTTP x-forwarded-for 标头执行的操作:转发(传递)、添加或删除 HTTP 标头。

选择

  • "pass"

  • "add"

  • "remove"

headers

列表 / elements=字典

配置 HTTP 转发请求标头。

action

字符串

配置在 HTTP 请求和响应中添加、删除或记录 HTTP 标头条目的操作。

选择

  • "add-to-request"

  • "add-to-response"

  • "remove-from-request"

  • "remove-from-response"

  • "monitor-request"

  • "monitor-response"

add_option

字符串

配置将内容附加到现有 HTTP 标头或添加新 HTTP 标头的选项。

选择

  • "append"

  • "new-on-not-found"

  • "new"

base64_encoding

字符串

启用/禁用 HTTP 内容的 base64 编码。

选择

  • "disable"

  • "enable"

content

字符串

HTTP 标头内容。

dstaddr

列表 / elements=字典

目标地址和地址组名称。

name

字符串 / 必需

地址名称。源 firewall.address.name firewall.addrgrp.name。

dstaddr6

列表 / elements=字典

目标地址和地址组名称 (IPv6)。

name

字符串 / 必需

地址名称。源 firewall.address6.name firewall.addrgrp6.name。

id

整数 / 必需

HTTP 转发标头 ID。请参阅 注释

name

字符串

HTTP 转发标头名称。

protocol

列表 / elements=字符串

配置对哪些协议执行 add-option 操作(HTTP、HTTPS 或两者)。

选择

  • "https"

  • "http"

log_header_change

字符串

启用/禁用 HTTP 标头更改的日志记录。

选择

  • "enable"

  • "disable"

name

字符串 / 必需

配置文件名称。

strip_encoding

字符串

启用/禁用从请求标头中删除不支持的编码。

选择

  • "enable"

  • "disable"

注释

注意

  • 旧版 fortiosapi 已被弃用,httpapi 是运行 playbook 的首选方法

  • 该模块支持 check_mode。

示例

- name: Configure web proxy profiles.
  fortinet.fortios.fortios_web_proxy_profile:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      web_proxy_profile:
          header_client_ip: "pass"
          header_front_end_https: "pass"
          header_via_request: "pass"
          header_via_response: "pass"
          header_x_authenticated_groups: "pass"
          header_x_authenticated_user: "pass"
          header_x_forwarded_client_cert: "pass"
          header_x_forwarded_for: "pass"
          headers:
              -
                  action: "add-to-request"
                  add_option: "append"
                  base64_encoding: "disable"
                  content: "<your_own_value>"
                  dstaddr:
                      -
                          name: "default_name_17 (source firewall.address.name firewall.addrgrp.name)"
                  dstaddr6:
                      -
                          name: "default_name_19 (source firewall.address6.name firewall.addrgrp6.name)"
                  id: "20"
                  name: "default_name_21"
                  protocol: "https"
          log_header_change: "enable"
          name: "default_name_24"
          strip_encoding: "enable"

返回值

常见的返回值记录在此处,以下是此模块特有的字段

描述

build

字符串

Fortigate 镜像的版本号

返回: 始终

示例: "1547"

http_method

字符串

上次用于将内容配置到 FortiGate 中的方法

返回: 始终

示例: "PUT"

http_status

字符串

FortiGate 在上次应用的操作中给出的最后结果

返回: 始终

示例: "200"

mkey

字符串

上次调用 FortiGate 时使用的主密钥(ID)

返回: success

示例: "id"

name

字符串

用于满足请求的表的名称

返回: 始终

示例: "urlfilter"

path

字符串

用于满足请求的表的路径

返回: 始终

示例: "webfilter"

revision

字符串

内部修订号

返回: 始终

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回: 始终

示例: "FGVMEVYYQT3AB5352"

status

字符串

指示操作结果

返回: 始终

示例: "success"

vdom

字符串

使用的虚拟域

返回: 始终

示例: "root"

version

字符串

FortiGate 的版本

返回: 始终

示例: "v5.6.3"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)