Pivotal Cloud Foundry v1.7

Using Your Own Load Balancer

Page last updated:

This guide describes how to use your own load balancer and forward traffic to your Elastic Runtime router IP address.

Pivotal Cloud Foundry (PCF) deploys with a single instance of HAProxy for use in lab and test environments. Production environments should use a highly-available customer-provided load balancing solution that does the following:

  • Provides load balancing to each of the PCF Router IPs
  • Supports SSL termination with wildcard DNS location
  • Adds appropriate x-forwarded-for and x-forwarded-proto HTTP headers to incoming requests
  • (Optional) Supports WebSockets

Note: Application logging with Loggregator requires WebSockets. To use another logging service, see the Using Third-Party Log Management Services topic.


To integrate your own load balancer with PCF, you must ensure the following:

  • WebSocket connections are not blocked for Loggregator functionality.
  • The load balancer must be able to reach the Gorouter IPs.

Follow the instructions below to use your own load balancer.

Step 1: Deploy PCF Installation VM

Deploy a PCF Installation virtual machine. The procedure you follow depends on the IaaS you use:

Step 2: Register PCF IP Address

In your load balancer, register the IP addresses that you assigned to PCF.

Step 3: Configure Pivotal Ops Manager and Ops Manager Director

Configure your Pivotal Operations Manager and Ops Manager Director as described in Installing Pivotal Cloud Foundry, then add Elastic Runtime.

Do not click Install after adding Elastic Runtime.

Step 4: Configure Networking

  1. In Pivotal Operations Manager, click the Elastic Runtime tile.

  2. Select Networking.

    Networking config

  3. In the Router IPs field, enter the IP address or addresses for PCF that you registered with your load balancer in Step 2.

  4. In the HAProxy IPs field, delete any existing IP addresses. This field should be blank.

  5. Under Configure the point-of-entry to this environment, choose one of the following:

    • External Load Balancer with Encryption: Select this option if your deployment uses an external load balancer that can forward encrypted traffic to the Elastic Runtime Router, or for a development environment that does not require load balancing. Complete the fields for the Router SSL Termination Certificate and Private Key and Router SSL Ciphers.
    • External Load Balancer without Encryption: Select this option if your deployment uses an external load balancer that cannot forward encrypted traffic to the Elastic Runtime Router, or for a development environment that does not require load balancing.

      For details about providing SSL termination certificates and keys, see the Providing a Certificate for your SSL Termination Point topic.

  6. If you are not using SSL encryption or if you are using self-signed certificates, select Disable SSL certificate verification for this environment.

  7. Select the Disable insecure cookies on the Router checkbox to turn on the secure flag for cookies generated by the router.

  8. In the Choose whether or not to enable route services section, choose either Enable route services or Disable route services. Route services are a class of marketplace services that perform filtering or content transformation on application requests and responses. See the Route Services topic for details.

    • If you enable route services, check Ignore SSL certificate verification on route services for the routing tier to reject requests that are not signed by a trusted CA.
  9. Optionally, use the Applications Subnet field if you need to avoid address collision with a third-party service on the same subnet as your apps. Enter a CIDR subnet mask specifying the range of available IP addresses assigned to your app containers. The IP range must be different from the network used by the system VMs.

  10. Optionally, you can change the value in the Applications Network Maximum Transmission Unit (MTU) field. Pivotal recommends setting the MTU value for your application network to 1454. Some configurations, such as networks that use GRE tunnels, may require a smaller MTU value.

  11. Optionally, increase the number of seconds in the Router Timeout to Backends field to accommodate larger uploads over connections with high latency.

  12. Click Save.

Step 5: Finalize Changes

  1. Return to the Ops Manager Installation Dashboard

  2. Click Install.

Create a pull request or raise an issue on the source for this page in GitHub