Configure proxy support to manage network configuration
You can configure Red Hat Ansible Automation Platform to communicate with traffic by using a proxy. Proxy servers act as an intermediary for requests from clients seeking resources from other servers.
A client connects to the proxy server, requesting some service or available resource from a different server, and the proxy server evaluates the request as a way to simplify and control its complexity. The following sections describe the supported proxy configurations and how to set them up.
Enable proxy support through a load balancer Copy linkLink copied!
A proxy server acts as an intermediary for requests from clients seeking resources from other servers. There are two types of proxy servers: forward proxies and reverse proxies.
About this task Copy linkLink copied!
A forward proxy deals with client traffic, regulating and securing it. To provide proxy server support, automation controller handles proxied requests (such as ALB, NLB , HAProxy, Squid, Nginx and tinyproxy in front of automation controller) using the REMOTE_HOST_HEADERS list variable in the automation controller settings. By default, REMOTE_HOST_HEADERS is set to ["REMOTE_ADDR", "REMOTE_HOST"].
To enable proxy server support, edit the REMOTE_HOST_HEADERS field in the settings page for your automation controller:
Procedure Copy linkLink copied!
Results Copy linkLink copied!
Automation controller determines the remote host’s IP address by searching through the list of headers in Remote Host Headers until the first IP address is located.
About known proxies Copy linkLink copied!
When automation controller is configured with REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST'], it assumes that the value of X-Forwarded-For has originated from the load balancer sitting in front of automation controller.
About this task Copy linkLink copied!
If automation controller is reachable without use of the load balancer, or if the proxy does not validate the header, the value of X-Forwarded-For can be falsified to fake the originating IP addresses.
Using HTTP_X_FORWARDED_FOR in the REMOTE_HOST_HEADERS setting poses a vulnerability.
To avoid this, you can configure a list of known proxies that are allowed.
Procedure Copy linkLink copied!
Configure known proxies Copy linkLink copied!
Learn how to configure a list of known proxies for your automation controller, add the proxy IP addresses to the Proxy IP Allowed List field in the System Settings page.
Procedure Copy linkLink copied!
Configure a reverse proxy through a load balancer Copy linkLink copied!
A reverse proxy manages external requests, providing load balancing and security. To support this, add HTTP_X_FORWARDED_FOR to the Remote Host Headers in System Settings. This header identifies the client’s original IP address when connecting through a proxy or load balancer.
Procedure Copy linkLink copied!
Enable sticky sessions for automation hub Copy linkLink copied!
By default, an application load balancer routes each request independently to a registered target based on the chosen load balancing algorithm.
To avoid authentication errors when running multiple instances of automation hub behind a load balancer, you must enable sticky sessions. Enabling sticky sessions sets a custom application cookie that matches the cookie configured on the load balancer to enable stickiness. This custom cookie can include any of the cookie attributes required by the application.