Configuring a Web Proxy Server Example for MS Windows Hosts
c2platform.wincore.win
Ansible role. This example demonstrates the setup process for Windows hosts.Categories:
Projects: c2platform/rws/ansible-gis
,
c2platform.wincore
,
c2platform.core
The RWS Ansible Inventory project
c2platform/rws/ansible-gis
contains the necessary configuration for setting up the web proxy server, which is
hosted at
http://webproxy.c2platform.org:1080
.
This serves as an illustrative example of configuring a web proxy using the
c2platform.wincore.win
role.
Project Variable gs_proxy_regedit
Refer to the group_vars/windows/proxy.yml
file where a “project variable”
gs_proxy_regedit
is defined. For more information on defining project
variables, please see our
guideline on it.
This variable is defined as a Cartesian product of two other project variables:
gs_proxy_regedit_paths
and gs_proxy_regedit_properties
, achieved through the
c2platform.core.product
filter, an integral component of the c2platform.core
collection. This approach streamlines configuration and prevents redundancy.
---
gs_proxy_regedit_paths:
- path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
gs_proxy_regedit_properties:
- name: ProxyServer
data: http://webproxy.c2platform.org:1080
type: string
- name: ProxyOverride
data: "*.c2platform.org;localhost;127.0.0.1;{{ ansible_hostname }}"
type: string
- name: ProxyEnable
data: 1 # 1 enable, 0 disable
type: dword
gs_proxy_regedit: >-
{{ gs_proxy_regedit_paths
| c2platform.core.product(gs_proxy_regedit_properties) }}
Of course, you can opt to bypass the use of the gs_proxy_regedit_paths
and
gs_proxy_regedit_properties
variables and manually specify the Cartesian
product.
Show me
---
gs_proxy_regedit:
- name: ProxyServer
data: http://webproxy.c2platform.org:1080
type: string
path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- name: ProxyOverride
data: "*.c2platform.org;localhost;127.0.0.1;{{ ansible_hostname }}"
type: string
path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- name: ProxyEnable
data: 1 # 1 enable, 0 disable
type: dword
path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- name: ProxyServer
data: http://webproxy.c2platform.org:1080
type: string
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- name: ProxyOverride
data: "*.c2platform.org;localhost;127.0.0.1;{{ ansible_hostname }}"
type: string
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- name: ProxyEnable
data: 1 # 1 enable, 0 disable
type: dword
path: HKLM:\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Configuration win_resources
In the file group_vars/windows/main.yml
a variable win_resources
is defined
which contains a group/key 1-windows
. This key is a list that includes various
items, one of which is named Configure proxy server.
win_resources:
1-windows:
- name: Configure proxy server
type: win_regedit
resources: "{{ gs_proxy_regedit }}"
The win_resources
variable plays a pivotal role in the
c2platform.wincore.win
role. For detailed information, please refer to the
role’s README.
Policy Codification
With this configuration, the policy to configure the web proxy is effectively
codified. No specific manual actions are required to set up the web proxy on a
server. Thanks to Ansible, this process is automated seamlessly for any server
within the windows
group.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.