- Citrix ADC Release Notes
-
Getting Started with Citrix ADC
- Where Does a Citrix ADC Appliance Fit in the Network?
- How a Citrix ADC Communicates with Clients and Servers
- Introduction to the Citrix ADC Product Line
- Install the hardware
- Access a Citrix ADC
- Configure the ADC for the first time
- Configure high availability
- Configuring a FIPS Appliance for the First Time
- Understanding Common Network Topologies
- System management settings
- Load balance traffic on a Citrix ADC appliance
- Accelerate load balanced traffic by using compression
- Secure load balanced traffic by using SSL
- Features at a Glance
- FAQ
-
Solutions for Telecom Service Providers
-
Large Scale NAT
- Points to Consider before Configuring LSN
- Configuration Steps for LSN
- Sample LSN Configurations
- Configuring Static LSN Maps
- Configuring Application Layer Gateways
- Logging and Monitoring LSN
- STUN Timeout
- TCP SYN Idle Timeout
- Overriding LSN configuration with Load Balancing Configuration
- Clearing LSN Sessions
- Load Balancing SYSLOG Servers
- Port Control Protocol
- LSN44 in a cluster setup
- Dual-Stack Lite
-
Large Scale NAT64
- Points to Consider for Configuring Large Scale NAT64
- Configuring DNS64
- Configuring Large Scaler NAT64
- Configuring Application Layer Gateways for Large Scale NAT64
- Configuring Static Large Scale NAT64 Maps
- Logging and Monitoring Large Scale NAT64
- Port Control Protocol for Large Scale NAT64
- LSN64 in a cluster setup
- Mapping Address and Port using Translation
- Telco subscriber management
- Load Balance Control-Plane Traffic that is based on Diameter, SIP, and SMPP Protocols
- Provide DNS Infrastructure/Traffic Services, such as, Load Balancing, Caching, and Logging for Telecom Service Providers
- Provide Subscriber Load Distribution Using GSLB Across Core-Networks of a Telecom Service Provider
- Bandwidth Utilization Using Cache Redirection Functionality
- Citrix ADC TCP Optimization
- Citrix ADC Video Optimization
- Citrix ADC URL Filtering
-
Large Scale NAT
- Citrix ADC Solutions
-
Deploy a Citrix ADC VPX instance
- Support matrix and usage guidelines
- Install a Citrix ADC VPX instance on XenServer
-
Install a Citrix ADC VPX instance on VMware ESX
- Configuring Citrix ADC Virtual Appliances to use VMXNET3 Network Interface
- Configuring Citrix ADC Virtual Appliances to use Single Root I/O Virtualization (SR-IOV) Network Interface
- Migrating the Citrix ADC VPX from E1000 to SR-IOV or VMXNET3 Network Interfaces
- Configuring Citrix ADC Virtual Appliances to use PCI Passthrough Network Interface
- Install a Citrix ADC VPX instance on Microsoft Hyper-V servers
-
Install a Citrix ADC VPX instance on Linux-KVM platform
- Prerequisites for Installing Citrix ADC VPX Virtual Appliances on Linux-KVM Platform
- Provisioning the Citrix ADC Virtual Appliance by using OpenStack
- Provisioning the Citrix ADC Virtual Appliance by using the Virtual Machine Manager
- Configuring Citrix ADC Virtual Appliances to Use SR-IOV Network Interface
- Configuring Citrix ADC Virtual Appliances to use PCI Passthrough Network Interface
- Provisioning the Citrix ADC Virtual Appliance by using the virsh Program
- Managing the Citrix ADC Guest VMs
- Provisioning the Citrix ADC Virtual Appliance with SR-IOV, on OpenStack
- Configuring a Citrix ADC VPX Instance on KVM to Use OVS DPDK-Based Host Interfaces
-
Deploy a Citrix ADC VPX instance on AWS
- Limitations and usage guidelines
- Prerequisites
- Deploy a Citrix ADC VPX standalone instance on AWS
- Scenario: standalone instance
- Download a Citrix ADC VPX license
- Load balancing servers in different availability zones
- Deploy a high availability pair on AWS
- High availability across AWS availability zones
- Add back-end AWS auto scaling service
- Configure a Citrix ADC VPX instance to use SR-IOV network interface
- Upgrade a Citrix ADC VPX instance on AWS
- Troubleshoot a VPX instance on AWS
-
Deploy a Citrix ADC VPX instance on Microsoft Azure
- Configure a Citrix ADC standalone instance
- Configure multiple IP addresses for a Citrix ADC VPX standalone instance
- Configure a high-availability setup with multiple IP addresses and NICs
- Configure a high-availability setup with multiple IP addresses and NICs by using PowerShell commands
- Configure a high-availability setup with a single IP address and a single NIC
- Add Azure autoscale settings
- Configure GSLB on Citrix ADC VPX instances
- Configure GSLB on an ctive-standby high availability setup
- Configure address pools (IIP) for a Citrix Gateway appliance
- Configure multiple IP addresses for a Citrix ADC VPX instance in standalone mode by using PowerShell commands
- Configure multiple Azure VIPs for a standalone or high availability Citrix ADC instance
- Additional PowerShell scripts for Azure deployment
- Azure terminology
- Deploy a Citrix ADC VPX instance on Google Cloud Platform
- Jumbo frames on Citrix ADC VPX instances
- Licensing
- Upgrade and downgrade a Citrix ADC appliance
-
Authentication, authorization, and auditing application traffic
- How Authentication, authorization, and auditing works
- Enabling AAA
- Setting up an authentication virtual server
- Creating an authentication profile
- Configuring users and groups
- Configuring authentication, authorization, and auditing policies
- Self-service password reset
- Authorizing user access to application resources
- Auditing authenticated sessions
- Session settings
- Traffic settings
- Authenticating with client certificates
- Configuring Authentication, authorization, and auditing with commonly used protocols
- Citrix ADC Kerberos single sign-on
- SAML authentication
- OAuth authentication
- Multi-Factor (nFactor) authentication
- Configuring the OpenID Connect Protocol
- Admin Partitioning
-
AppExpert
- Action Analytics
-
AppExpert Applications and Templates
- How AppExpert application works
- Get started with AppExpert
- Customize AppExpert Configuration
- Configure user authentication
- Monitor Citrix ADC statistics
- Delete an AppExpert application
- Configure application authentication, authorization, and auditing
- Set up a custom Citrix ADC application
- Creating and Managing Template Files
- Citrix Gateway Applications
- AppQoE
- Entity Templates
-
HTTP Callouts
- How an HTTP Callout Works
- Notes on the Format of HTTP Requests and Responses
- Configuring an HTTP Callout
- Verifying the Configuration
- Invoking an HTTP Callout
- Avoiding HTTP Callout Recursion
- Caching HTTP Callout Responses
- Use Case: Filtering Clients by Using an IP Blacklist
- Use Case: ESI Support for Fetching and Updating Content Dynamically
- Use Case: Access Control and Authentication
- Use Case: OWA-Based Spam Filtering
- Use Case: Dynamic Content Switching
- Pattern Sets and Data Sets
- Variables
-
Policies and Expressions
- Introduction to Policies and Expressions
- Configuring Advanced Policy Infrastructure
- Configuring Advanced Policy Expression: Getting Started
- Advanced Policy Expressions: Evaluating Text
- Advanced Policy Expressions: Working with Dates, Times, and Numbers
- Advanced Policy Expressions: Parsing HTTP, TCP, and UDP Data
- Advanced Policy Expressions: Parsing SSL Certificates
- Advanced Policy Expressions: IP and MAC Addresses, Throughput, VLAN IDs
- Advanced Policy Expressions: Stream Analytics Functions
- Advanced Policy Expressions: DataStream
- Typecasting Data
- Regular Expressions
- Configuring Classic Policies and Expressions
- Expressions Reference-Advanced Policy Expressions
- Expressions Reference-Classic Expressions
- Summary Examples of Default Syntax Expressions and Policies
- Tutorial Examples of Default Syntax Policies for Rewrite
- Tutorial Examples of Classic Policies
- Migration of Apache mod_rewrite Rules to the Default Syntax
-
Rate Limiting
- Configuring a Stream Selector
- Configuring a Traffic Rate Limit Identifier
- Configuring and Binding a Traffic Rate Policy
- Viewing the Traffic Rate
- Testing a Rate-Based Policy
- Examples of Rate-Based Policies
- Sample Use Cases for Rate-Based Policies
- Rate Limiting for Traffic Domains
- Configure rate limit at packet level
-
Responder
- Enabling the Responder Feature
- Configuring a Responder Action
- Configuring a Responder Policy
- Binding a Responder Policy
- Setting the Default Action for a Responder Policy
- Responder Action and Policy Examples
- Diameter Support for Responder
- RADIUS Support for Responder
- DNS Support for the Responder Feature
- How to Redirect HTTP Requests
- Troubleshooting
-
Rewrite
- How Rewrite Works
- Enabling the Rewrite Feature
- Configuring a Rewrite Action
- Configuring a Rewrite Policy
- Binding a Rewrite Policy
- Configuring Rewrite Policy Labels
- Configuring the Default Rewrite Action
- Bypassing the Safety Check
- Rewrite Action and Policy Examples
- URL Transformation
- RADIUS Support for the Rewrite Feature
- Diameter Support for Rewrite
- DNS Support for the Rewrite Feature
- String Maps
- URL Sets
- AppFlow
-
Application Firewall
- FAQs and Deployment Guide
- Introduction
- Configuring the Application Firewall
-
Signatures
- Manually Configuring the Signatures Feature
- Adding or Removing a Signatures Object
- Configuring or Modifying a Signatures Object
- Protecting JSON Applications using Signatures
- Updating a Signatures Object
- Exporting a Signatures Object to a File
- The Signatures Editor
- Signature Updates in High-Availability Deployment and Build Upgrades
- Overview of Security checks
- Top-Level Protections
- Data Leak Prevention Checks
- Advanced Form Protection Checks
- URL Protection Checks
- XML Protection Checks
- Managing Content Types
- Profiles
- Policy Labels
- Policies
- Imports
- Global Configuration
- Statistics and Reports
- Application Firewall Logs
- Appendices
- Debugging and Troubleshooting
- Signatures Alert Articles
- Cache Redirection
-
Clustering
- Citrix ADC configuration support in a cluster
- Prerequisites for cluster nodes
- Cluster overview
- Setting up a Citrix ADC cluster
- Distributing traffic across cluster nodes
-
Managing the Citrix ADC cluster
- Configuring linksets
- Nodegroups for spotted and partially-striped configurations
- Configuring redundancy for nodegroups
- Disabling steering on the cluster backplane
- Synchronizing cluster configurations
- Synchronizing time across cluster nodes
- Synchronizing cluster files
- Viewing the statistics of a cluster
- Discovering Citrix ADC appliances
- Disabling a cluster node
- Removing a cluster node
- Removing a node from a cluster deployed using cluster link aggregation
- Detecting jumbo probe on a cluster
- Route monitoring for dynamic routes in cluster
- Monitoring cluster setup using SNMP MIB with SNMP link
- Monitoring command propagation failures in a cluster deployment
- Graceful shutdown of nodes
- Graceful shutdown of services
- IPv6 ready logo support for clusters
- Managing cluster heartbeat messages
- Configuring owner node response status
- Monitor Static Route (MSR) support for inactive nodes in a spotted cluster configuration
- VRRP interface binding in a single node active cluster
-
Cluster setup and usage scenarios
- Creating a two-node cluster
- Migrating an HA setup to a cluster setup
- Transitioning between a L2 and L3 cluster
- Setting up GSLB in a cluster
- Using cache redirection in a cluster
- Using L2 mode in a cluster setup
- Using cluster LA channel with linksets
- Backplane on LA channel
- Common interfaces for client and server and dedicated interfaces for backplane
- Common switch for client, server, and backplane
- Common switch for client and server and dedicated switch for backplane
- Different switch for every node
- Sample cluster configurations
- Using VRRP in a cluster setup
- Backup and restore of cluster setup
- Upgrading or downgrading the Citrix ADC cluster
- Operations supported on individual cluster nodes
- Support for heterogeneous cluster
- FAQs
- Troubleshooting the Citrix ADC cluster
- Content Switching
-
DataStream
- Configuring Database Users
- Configuring a Database Profile
- Configuring Load Balancing for DataStream
- Configuring Content Switching for DataStream
- Configuring Monitors for DataStream
- Use Case 1: Configuring DataStream for a Master/Slave Database Architecture
- Use Case 2: Configuring the Token Method of Load Balancing for DataStream
- Use Case 3: Logging MSSQL Transactions in Transparent Mode
- Use Case 4: Database Specific Load Balancing
- DataStream Reference
-
Domain Name System
-
Configure DNS resource records
- Create SRV records for a service
- Create AAAA Records for a domain name
- Create address records for a domain name
- Create MX records for a mail exchange server
- Create NS records for an authoritative server
- Create CNAME records for a subdomain
- Create NAPTR records for telecommunications domain
- Create PTR records for IPv4 and IPv6 addresses
- Create SOA records for authoritative information
- Create TXT records for holding descriptive text
- View DNS statistics
- Configure a DNS zone
- Configure the Citrix ADC as an ADNS server
- Configure the Citrix ADC as a DNS proxy server
- Configure the Citrix ADC as an end resolver
- Configure the Citrix ADC as a forwarder
- Configure Citrix ADC as a non-validating security aware stub-resolver
- Jumbo frames support for DNS to handle responses of large sizes
- Configure DNS logging
- Configure DNS suffixes
- DNS ANY query
- Configure negative caching of DNS records
- Caching of EDNS0 client subnet data when the Citrix ADC appliance is in proxy mode
- Domain name system security extensions
- Support wildcard DNS domains
- Mitigate DNS DDoS attacks
-
Configure DNS resource records
- Firewall Load Balancing
-
Global Server Load Balancing
- GSLB deployment types
- GSLB configuration entities
- GSLB methods
- Configure static proximity
- Configure site-to-site communication
- Configure metrics exchange protocol
- Configure GSLB by using a wizard
- Configure GSLB entities individually
- Synchronize the configuration in a GSLB setup
- GSLB dashboard
- Monitor GSLB services
- Use case: Deployment of domain name based autoscale service group
- Use case: Deployment of IP address based autoscale service group
-
How-to articles
- Customize your GSLB configuration
- Configure persistent connections
- Manage client connections
- Configure GSLB for proximity
- Protect the GSLB setup against failure
- Configure GSLB for disaster recovery
- Override static proximity behavior by configuring preferred locations
- Configure GSLB service selection using content switching
- Configure GSLB for DNS queries with NAPTR records
- Use the EDNS0 client subnet option for GSLB
- Example of a complete parent-child configuration using the metrics exchange protocol
- Link Load Balancing
-
Load Balancing
- How load balancing works
- Set up basic load balancing
- Load balance virtual server and service states
- Support for load balancing profile
- Load balancing algorithms
-
Persistence and persistent connections
- About Persistence
- Source IP address persistence
- HTTP cookie persistence
- SSL session ID persistence
- Diameter AVP number persistence
- Custom server ID persistence
- IP address persistence
- SIP Call ID persistence
- RTSP session ID persistence
- Configure URL passive persistence
- Configure persistence based on user-defined rules
- Configure persistence types that do not require a rule
- Configure backup persistence
- Configure persistence groups
- Share persistent sessions between virtual servers
- Configure RADIUS load balancing with persistence
- View persistence sessions
- Clear persistence sessions
- Override persistence settings for overloaded services
- Troubleshooting
- Customize a load balancing configuration
- Configure diameter load balancing
- Configure FIX load balancing
- Protect a load balancing configuration against failure
- Manage a load balancing setup
-
Manage client traffic
- Configure sessionless load balancing virtual servers
- Redirect HTTP requests to a cache
- Direct requests according to priority
- Direct requests to a custom web page
- Enable cleanup of virtual server connections
- Rewrite ports and protocols for HTTP redirection
- Insert IP address and port of a virtual server in the request header
- Use a specified source IP for backend communication
- Set a time-out value for idle client connections
- Manage RTSP connections
- Manage client traffic on the basis of traffic rate
- Identify a connection with layer 2 parameters
- Configure the prefer direct route option
- Use a source port from a specified port range for backend communication
- Configure source IP persistency for backend communication
- Use IPv6 link local addresses on server side of a load balancing setup
-
Advanced load balancing settings
- Gradually stepping up the load on a new service with virtual server–level slow start
- The no-monitor option for services
- Protect applications on protected servers against traffic surges
- Enable cleanup of virtual server and service connections
- Graceful shutdown of services
- Enable or disable persistence session on TROFS services
- Direct requests to a custom web page
- Enable access to services when down
- Enable TCP buffering of responses
- Enable compression
- Maintain client connection for multiple client requests
- Insert the IP address of the client in the request header
- Retrieve location details from user IP address using geolocation database
- Use source IP address of the client when connecting to the server
- Use client source IP address for backend communication in a v4-v6 load balancing configuration
- Configure the source port for server-side connections
- Set a limit on the number of client connections
- Set a limit on number of requests per connection to the server
- Set a threshold value for the monitors bound to a service
- Set a timeout value for idle client connections
- Set a timeout value for idle server connections
- Set a limit on the bandwidth usage by clients
- Redirect client requests to a cache
- Retain the VLAN identifier for VLAN transparency
- Configure automatic state transition based on percentage health of bound services
-
Built-in monitors
- TCP-based application monitoring
- SSL service monitoring
- FTP service monitoring
- Secure monitoring of servers by using SFTP
- Set SSL parameters on a secure monitor
- SIP service monitoring
- RADIUS service monitoring
- Monitor accounting information delivery from a RADIUS server
- DNS and DNS-TCP service monitoring
- LDAP service monitoring
- MySQL service monitoring
- SNMP service monitoring
- NNTP service monitoring
- POP3 service monitoring
- SMTP service monitoring
- RTSP service monitoring
- XML broker service monitoring
- ARP request monitoring
- XenDesktop Delivery Controller service monitoring
- Web interface service monitoring
- Citrix StoreFront stores monitoring
- Custom monitors
- Configure monitors in a load balancing setup
- Manage a large scale deployment
- Configure load balancing for commonly used protocols
- Use case 1: SMPP load balancing
- Use case 2: Configure rule based persistence based on a name-value pair in a TCP byte stream
- Use case 3: Configure load balancing in direct server return mode
- Use case 4: Configure LINUX servers in DSR mode
- Use case 5: Configure DSR mode when using TOS
- Use case 6: Configure load balancing in DSR mode for IPv6 networks by using the TOS field
- Use case 7: Configure load balancing in DSR mode by using IP Over IP
- Use case 8: Configure load balancing in one-arm mode
- Use case 9: Configure load balancing in the inline mode
- Use case 10: Load balancing of intrusion detection system servers
- Use case 11: Isolating network traffic using listen policies
- Use case 12: Configure XenDesktop for load balancing
- Use case 13: Configure XenApp for load balancing
- Use case 14: ShareFile wizard for load balancing Citrix ShareFile
- Troubleshooting
- Load balancing FAQs
-
Networking
- IP Addressing
-
Interfaces
- Configuring MAC-Based Forwarding
- Configuring Network Interfaces
- Configuring Forwarding Session Rules
- Understanding VLANs
- Configuring a VLAN
- Configuring NSVLAN
- Configuring Allowed VLAN List
- Configuring Bridge Groups
- Configuring VMACs
- Configuring Link Aggregation
- Redundant Interface Set
- Binding an SNIP address to an Interface
- Monitoring the Bridge Table and Changing the Aging time
- Citrix ADC Appliances in Active-Active Mode Using VRRP
- Using the Network Visualizer
- Configuring Link Layer Discovery Protocol
- Jumbo Frames
- Citrix ADC Support for Microsoft Direct Access Deployment
- Access Control Lists
- IP Routing
- Internet Protocol version 6 (IPv6)
- Traffic Domains
- VXLAN
- Priority Load Balancing
-
Citrix ADC Extensions
- Citrix ADC extensions - language overview
- Citrix ADC extensions - library reference
- Citrix ADC extensions API reference
-
Protocol extensions
- Protocol extensions - architecture
- Protocol extensions - traffic pipeline for user defined TCP client and server behaviors
- Protocol extensions - use cases
- Tutorial – Add MQTT protocol to the Citrix ADC appliance by using protocol extensions
- Tutorial - Load balancing syslog messages by using protocol extensions
- Protocol extensions command reference
- Troubleshoot protocol extensions
- Policy extensions
-
Optimization
- Client Keep-Alive
- HTTP Compression
-
Integrated Caching
- Configure selectors and basic content groups
- Configure policies for caching and invalidation
- Cache support for database protocols
- Configure expressions for caching policies and selectors
- Display cached objects and cache statistics
- Improve cache performance
- Configure cookies, headers, and polling
- Configure integrated cache as a forward proxy
- Default Settings for the Integrated Cache
- Troubleshooting
- Front End Optimization
- Content Accelerator
- Media Classification
- Reputation
-
SSL offload and acceleration
- SSL offloading configuration
- TLSv1.3 protocol support as defined in RFC 8446
- How-to articles
- SSL certificates
- SSL profiles
- Certificate revocation lists
- Monitor certificate status with OCSP
- OCSP stapling
- Ciphers available on the Citrix ADC appliances
- Server certificate support matrix on the ADC appliance
- Client authentication
- Server authentication
- SSL actions and policies
- Selective SSL logging
- Support for DTLS protocol
- Support for Intel Coleto SSL chip based platforms
- MPX 9700/10500/12500/15500 FIPS appliances
- MPX 14000 FIPS appliances
-
SDX 14000 FIPS appliances
- Limitations
- Terminology
- Initialize the HSM
- Create partitions
- Provision a new instance or modify an existing instance and assign a partition
- Configure the HSM for an instance on an SDX 14030/14060/14080 FIPS appliance
- Create a FIPS key for an instance on an SDX 14030/14060/14080 FIPS appliance
- Upgrade the FIPS firmware on a VPX instance
- Support for Thales nShield® HSM
- Support for Gemalto SafeNet Network hardware security module
- Troubleshooting
- SSL FAQs
- Global site certificates
- Security
-
System
- Basic operations
- Authentication and authorization
- TCP Configurations
- HTTP Configurations
- SNMP
- Audit Logging
- Web Server Logging
- Call Home
- Reporting Tool
-
CloudBridge Connector
- Monitoring CloudBridge Connector Tunnels
- Configuring a CloudBridge Connector Tunnel between two Datacenters
- Configuring CloudBridge Connector between Datacenter and AWS Cloud
- Configuring a CloudBridge Connector Tunnel Between a Citrix ADC Appliance and Virtual Private Gateway on AWS
- Configuring a CloudBridge Connector Tunnel Between a Datacenter and Azure Cloud
- Configuring CloudBridge Connector Tunnel between Datacenter and SoftLayer Enterprise Cloud
- Configuring a CloudBridge Connector Tunnel Between a Citrix ADC Appliance and Cisco IOS Device
- Configuring a CloudBridge Connector Tunnel Between a Citrix ADC Appliance and Fortinet FortiGate Appliance
- CloudBridge Connector Tunnel Diagnostics and Troubleshooting
- CloudBridge Connector Interoperability – StrongSwan
- CloudBridge Connector Interoperability – F5 BIG-IP
- CloudBridge Connector Interoperability – Cisco ASA
-
High Availability
- Points to Consider for a High Availability Setup
- Configuring High Availability
- Configuring the Communication Intervals
- Configuring Synchronization
- Synchronizing Configuration Files in a High Availability Setup
- Configuring Command Propagation
- Restricting High-Availability Synchronization Traffic to a VLAN
- Configuring Fail-Safe Mode
- Configuring Virtual MAC Addresses
- Configuring High Availability Nodes in Different Subnets
- Configuring Route Monitors
- Limiting Failovers Caused by Route Monitors in non-INC mode
- Configuring Failover Interface Set
- Understanding the Causes of Failover
- Forcing a Node to Fail Over
- Forcing the Secondary Node to Stay Secondary
- Forcing the Primary Node to Stay Primary
- Understanding the High Availability Health Check Computation
- High Availability FAQs
- Troubleshooting High Availability Issues
- Managing High Availability Heartbeat Messages on a Citrix ADC Appliance
- Remove and Replace a Citrix ADC in a High Availability Setup
- TCP Optimization
- Troubleshooting Citrix ADC
- Reference Material
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
This content has been machine translated dynamically.
This content has been machine translated dynamically.
This content has been machine translated dynamically.
Translation failed!
How load balancing works
In a basic load balancing setup, clients send their requests to the IP address of a virtual server configured on the Citrix ADC appliance. The virtual server distributes them to the load-balanced application servers according to a preset pattern, called the load balancing algorithm. In some cases, you might want to assign the load balancing virtual server a wildcard address instead of a specific IP address. For instructions about specifying a global HTTP port on the appliance, see Global HTTP Ports.
Load balancing basics
A load balancing setup includes a load-balancing virtual server and multiple load-balanced application servers. The virtual server receives incoming client requests, uses the load balancing algorithm to select an application server, and forwards the requests to the selected application server. The following conceptual drawing illustrates a typical load balancing deployment. Another variation involves assigning a global HTTP port.
Figure 1. Load Balancing Architecture
The load balancing virtual server can use any of a number of algorithms (or methods) to determine how to distribute load among the load-balanced servers that it manages. The default load balancing method is the least connection method, in which the Citrix ADC appliance forwards each incoming client connection to whichever load-balanced application server currently has the fewest active user connections.
The entities that you configure in a typical Citrix ADC load balancing setup are:
- Load balancing virtual server. The IP address, port, and protocol combination to which a client sends connection requests for a particular load-balanced website or application. If the application is accessible from the Internet, the virtual server IP (VIP) address is a public IP address. If the application is accessible only from the local area network (LAN) or wide area network (WAN), the VIP is usually a private (ICANN non-routable) IP address.
- Service. The IP address, port, and protocol combination used to route requests to a specific load-balanced application server. A service can be a logical representation of the application server itself, or of an application running on a server that hosts multiple applications. After creating a service, you bind it to a load balancing virtual server.
- Server object. A virtual entity that enables you to assign a name to a physical server instead of identifying the server by its IP address. If you create a server object, you can specify its name instead of the server’s IP address when you create a service. Otherwise, you must specify the server’s IP address when you create a service, and the IP address becomes the name of the server.
- Monitor. An entity on the Citrix ADC appliance that tracks a service and ensures that it is operating correctly. The monitor periodically probes (or performs a health check on) each service to which you assign it. If the service does not respond within the time specified by the time-out, and a specified number of health checks fail, that service is marked DOWN. The Citrix ADC appliance then skips that service when performing load balancing, until the issues that caused the service to quit responding are fixed.
The virtual server, services, and load balanced application servers in a load balancing setup can use either Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6) IP addresses. You can mix IPv4 and IPv6 addresses in a single load balancing setup.
For variations in the load balancing setup, see the following use cases:
- Configuring Load Balancing in Direct Server Return Mode
- Configuring LINUX Servers in DSR Mode
- Configuring DSR Mode When Using TOS
- Configuring Load Balancing in DSR Mode by Using IP Over IP
- Configuring Load Balancing in One-arm Mode
- Configuring Load Balancing in the Inline Mode
- Load Balancing of Intrusion Detection System Servers
- Load balance remote desktop protocol servers
Understanding the topology
In a load balancing setup, the load balancing server is logically located between the client and the server farm, and manages traffic flow to the servers in the server farm. On the Citrix ADC appliance, the application servers are represented by virtual entities called services. The following diagram shows the topology of a basic load balancing configuration.
Figure 2. Basic Load Balancing Topology
In the diagram, load balancing is used to manage traffic flow to the servers. The virtual server selects the service and assigns it to serve client requests. Consider a scenario where the services Service-HTTP-1 and Service-HTTP-2 are created and bound to the virtual server named Vserver-LB-1. Vserver-LB-1 forwards the client request to either Service-HTTP-1 or Service-HTTP-2. The Citrix ADC appliance uses the least connection load balancing method to select the service for each request. The following table lists the names and values of the basic entities that must be configured on the appliance.
Entity | Name | IPAddress | Port | Protocol |
---|---|---|---|---|
Virtual server | Vserver-LB-1 | 10.102.29.60 | 80 | HTTP |
Services | Service-HTTP-1 | 10.102.29.5 | 80 | HTTP |
Service-HTTP-2 | 10.102.29.6 | 80 | HTTP | |
Monitors | Default | None | None | None |
The following diagram shows the load balancing sample values and mandatory parameters that are described in the preceding table.
Figure 3. Load Balancing Entity Model
Use of wildcards instead of IP addresses and ports
In some cases you might need to use a wildcard for the IP address or the port of a virtual server or for the port of a service. The following cases may require using a wildcard:
- If the Citrix ADC appliance is configured as a transparent pass through, which must accept all traffic that is sent to it regardless of the IP or port to which it is sent.
- If one or more services listen on ports that are not well known.
- If one or more services, over time, change the ports that they listen on.
- If you reach the limit for the number of IP addresses and ports that you can configure on a single Citrix ADC appliance.
- If you want to create virtual servers that listen for all traffic on a specific virtual LAN.
When a wildcard-configured virtual server or service receives traffic, the Citrix ADC appliance determines the actual IP address or port and creates new records for the service and associated load balanced application server. These dynamically created records are called dynamically learned server and service records.
For example, a firewall load balancing configuration can use wildcards for both the IP address and port. If you bind a wildcard TCP service to this type of load balancing virtual server, the virtual server receives and processes all TCP traffic that does not match any other service or virtual server.
The following table describes some of the different types of wildcard configurations and when each should be used.
IP | Port | Protocol | Description |
---|---|---|---|
* | * | TCP | A general wildcard virtual server that accepts traffic sent to any IP address and port on the Citrix ADC appliance. When using a wildcarded virtual server, the appliance dynamically learns the IP and port of each service and creates the necessary records as it processes traffic. |
* | * | TCP | A firewall load balancing virtual server. You can bind firewall services to this virtual server, and the Citrix ADC appliance passes traffic through the firewall to the destination. |
IP Address | * | TCP,UDP, and ANY | A virtual server that accepts all traffic that is sent to the specified IP address, regardless of the port. You must explicitly bind to this type of virtual server the services to which it will redirect traffic. It will not dynamically learn them. |
Note: You do not configure services or virtual servers for a global HTTP port. In this case, you configure a specific port as a global HTTP port (for example, set ns param -httpPort 80). The appliance then accepts all traffic that matches the port number, and processes it as HTTP traffic. The appliance dynamically learns and creates services for this traffic. | |||
* | port | SSL, SSL_TCP | A virtual server that accepts all traffic sent to any IP address on a specific port. Used for global transparent SSL offloading. All SSL, HTTP, and TCP processing that usually is performed for a service of the same protocol type is applied to traffic that is directed to this specific port. The appliance uses the port to dynamically learn the IP of the service it should use. If –cleartext is not specified, the Citrix ADC appliance uses end-to-end SSL. |
* | port | Not applicable | All other virtual servers that can accept traffic to the port. You do not bind services to these virtual servers; the Citrix ADC appliance learns them dynamically. |
Note: If you have configured your Citrix ADC appliance as a transparent pass through that makes use of global (wildcard) ports, you may want to turn on Edge mode. For more information, see “Configuring Edge Mode.”
The Citrix ADC appliance attempts to locate virtual servers and services by first attempting an exact match. If none is found, it continues to search for a match based on wildcards, in the following order:
- Specific IP address and specific port number
- Specific IP address and a * (wildcard) port
-
- (wildcard) IP address and a specific port
-
- (wildcard) IP address and a * (wildcard) port
If the appliance is unable to select a virtual server by IP address or port number, it searches for a virtual server on the basis of the protocol used in the request, in the following order:
- HTTP
- TCP
- ANY
Configuring global HTTP ports
You do not configure services or virtual servers for a global HTTP port. Instead, you configure a specific port by using the set ns param command. After configuring this port, the Citrix ADC appliance accepts all traffic that matches the port number, and processes it as HTTP traffic, dynamically learning and creating services for that traffic.
You can configure more than one port number as a global HTTP port. If you are specifying more than one port number in a single set ns param command, separate the port numbers by a single white space. If one or more ports have already been specified as global HTTP ports, and you want to add one or more ports without removing the ports that are currently configured, you must specify all the port numbers, current and new, in the command. Before you add port numbers, use the show ns param command to view the ports that are currently configured.
To configure a global HTTP port by using the command line interface
At the command prompt, type the following commands to configure a global HTTP port and verify the configuration:
set ns param –httpPort <port>
show ns param
Example 1: Configuring a port as a global HTTP port
In this example, port 80 is configured as a global HTTP port.
set ns param -httpPort 80
Done
show ns param
Global configuration settings:
HTTP port(s): 80
Max connections: 0
Max requests per connection: 0
Client IP insertion: DISABLED
Cookie version: 0
Persistence Cookie Secure Flag: ENABLED
...
...
Example 2: Adding ports when one or more global HTTP ports are already configured**
In this example, port 8888 is added to the global HTTP port list. Port 80 is already configured as a global HTTP port.
> show ns param
Global configuration settings:
HTTP port(s): 80
Max connections: 0
Max requests per connection: 0
Client IP insertion: DISABLED
Cookie version: 0
Persistence Cookie Secure Flag: ENABLED
Min Path MTU: 576
...
...
Done
> set ns param -httpPort 80 8888
Done
> show ns param
Global configuration settings:
HTTP port(s): 80,8888
Max connections: 0
Max requests per connection: 0
Client IP insertion: DISABLED
Cookie version: 0
Persistence Cookie Secure Flag: ENABLED
Min Path MTU: 576
...
...
Done
>
To configure a global HTTP port by using the configuration utility
- Navigate to System > Settings > Change HTTP Parameters, and then add an HTTP port number.