fortinet.fortios.fortios_web_proxy_explicit – Configure explicit Web proxy settings in Fortinet’s FortiOS and FortiGate.
Note
This plugin is part of the fortinet.fortios collection (version 2.1.3).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install fortinet.fortios
.
To use it in a playbook, specify: fortinet.fortios.fortios_web_proxy_explicit
.
New in version 2.10: of fortinet.fortios
Synopsis
This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify web_proxy feature and explicit category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0
Requirements
The below requirements are needed on the host that executes this module.
ansible>=2.9.0
Parameters
Parameter |
Comments |
---|---|
Token-based authentication. Generated from GUI of Fortigate. |
|
Enable/Disable logging for task. Choices:
|
|
Member attribute path to operate on. Delimited by a slash character if there are more than one attribute. Parameter marked with member_path is legitimate for doing member operation. |
|
Add or delete a member under specified attribute path. When member_state is specified, the state option is ignored. Choices:
|
|
Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit. Default: “root” |
|
Configure explicit Web proxy settings. |
|
Accept incoming FTP-over-HTTP requests on one or more ports (0 - 65535). |
|
Enable to proxy FTP-over-HTTP sessions sent from a web browser. Choices:
|
|
Accept incoming HTTP requests on one or more ports (0 - 65535). |
|
Accept incoming HTTPS requests on one or more ports (0 - 65535). |
|
Enable/disable sending the client a replacement message for HTTPS requests. Choices:
|
|
Restrict the explicit HTTP proxy to only accept sessions from this IP address. An interface must have this IP address. |
|
Restrict the explicit web proxy to only accept sessions from this IPv6 address. An interface must have this IPv6 address. |
|
Enable/disable allowing an IPv6 web proxy destination in policies and all IPv6 related entries in this command. Choices:
|
|
Enable/disable displaying a replacement message when a server error is detected. Choices:
|
|
Outgoing HTTP requests will have this IP address as their source address. An interface must have this IP address. |
|
Outgoing HTTP requests will leave this IPv6. Multiple interfaces can be specified. Interfaces must have these IPv6 addresses. |
|
PAC file contents enclosed in quotes (maximum of 256K bytes). |
|
Pac file name. |
|
Port number that PAC traffic from client web browsers uses to connect to the explicit web proxy (0 - 65535). |
|
Enable/disable Proxy Auto-Configuration (PAC) for users of this explicit proxy profile. Choices:
|
|
PAC file access URL. |
|
PAC policies. |
|
Optional comments. |
|
Destination address objects. |
|
Address name. Source firewall.address.name firewall.addrgrp.name. |
|
PAC file contents enclosed in quotes (maximum of 256K bytes). |
|
Pac file name. |
|
Policy ID. |
|
Source address objects. |
|
Address name. Source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name. |
|
Source address6 objects. |
|
Address name. Source firewall.address6.name firewall.addrgrp6.name. |
|
Enable/disable policy. Choices:
|
|
Prefer resolving addresses using the configured IPv4 or IPv6 DNS server . Choices:
|
|
Authentication realm used to identify the explicit web proxy (maximum of 63 characters). |
|
Accept or deny explicit web proxy sessions when no web proxy firewall policy exists. Choices:
|
|
Enable/disable the SOCKS proxy. Choices:
|
|
Accept incoming SOCKS proxy requests on one or more ports (0 - 65535). |
|
Relative strength of encryption algorithms accepted in HTTPS deep scan: high, medium, or low. Choices:
|
|
Enable/disable the explicit Web proxy for HTTP and HTTPS session. Choices:
|
|
Enable/disable strict guest user checking by the explicit web proxy. Choices:
|
|
Enable/disable logging timed-out authentication requests. Choices:
|
|
Either reject unknown HTTP traffic as malformed or handle unknown HTTP traffic as best as the proxy server can. Choices:
|
Examples
- collections:
- fortinet.fortios
connection: httpapi
hosts: fortigate01
vars:
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
vdom: root
tasks:
- name: fortios_web_proxy_explicit
fortios_web_proxy_explicit:
vdom: root
web_proxy_explicit:
ftp_over_http: disable
https_replacement_message: enable
incoming_ip: 0.0.0.0
incoming_ip6: '::'
ipv6_status: disable
message_upon_server_error: enable
pac_file_name: proxy.pac
pac_file_server_status: disable
pref_dns_result: ipv4
realm: default
sec_default_action: deny
socks: disable
ssl_algorithm: low
status: disable
strict_guest: disable
trace_auth_no_rsp: disable
unknown_http_version: reject
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Build number of the fortigate image Returned: always Sample: “1547” |
|
Last method used to provision the content into FortiGate Returned: always Sample: “PUT” |
|
Last result given by FortiGate on last operation applied Returned: always Sample: “200” |
|
Master key (id) used in the last call to FortiGate Returned: success Sample: “id” |
|
Name of the table used to fulfill the request Returned: always Sample: “urlfilter” |
|
Path of the table used to fulfill the request Returned: always Sample: “webfilter” |
|
Internal revision number Returned: always Sample: “17.0.2.10658” |
|
Serial number of the unit Returned: always Sample: “FGVMEVYYQT3AB5352” |
|
Indication of the operation’s result Returned: always Sample: “success” |
|
Virtual domain used Returned: always Sample: “root” |
|
Version of the FortiGate Returned: always Sample: “v5.6.3” |
Authors
Link Zheng (@chillancezen)
Jie Xue (@JieX19)
Hongbin Lu (@fgtdev-hblu)
Frank Shen (@frankshen01)
Miguel Angel Munoz (@mamunozgonzalez)
Nicolas Thomas (@thomnico)