Setting up redundant origin servers

Sometimes you want to set up two different origin servers, one as a primary and one as a backup in case the primary becomes unavailable. You can do this via the web interface or using custom VCL.

NOTE

Each Fastly service can be configured with up to five origin servers. Contact sales@fastly.com to enable more than five origin servers per service in your account.

Using the web interface

Set up redundant origins via the web interface using these steps.

  1. Log in to the Fastly web interface.
  2. From the Home page, select the appropriate service. You can use the search box to search by ID, name, or domain.
  3. Click the Edit configuration button and then select the option to clone the active version. The Domains page appears.
  4. Click the Origins link. The Origins page appears.
  5. In the Health Checks area, define a health check and assign it to the primary origin server.

  6. In the Hosts area, find your secondary origin server and click the Attach a condition link.

    an example secondary origin server

    The Add a condition window appears.

    an example add a condition window

  7. Click Create a new request condition. The Create a new request condition window appears.

    an example create a new condition window

  8. Fill out the Create a new request condition fields as follows:

    • In the Name field, enter the name of your request condition (for example, Primary Unhealthy).
    • In the Apply if field, enter !req.backend.healthy.
  9. Click the Save and apply to button. The Hosts area now displays the condition that must be met (Primary Unhealthy) in order for your secondary origin server to begin being used.

    hosts condition primary unhealthy that will trigger use of the secondary origin server

    Once you've added the condition to your secondary origin server, the VCL generated by Fastly will reflect the new condition.

  10. Preview the VCL, and confirm the following snippets appear in vcl_recv:

    # default conditions
    set req.backend = F_primary;
    1# Request Condition: primary unhealthy Prio: 10
    2if (!req.backend.healthy) {
    3 set req.backend = F_secondary;
    4}
    5#end condition

Using custom VCL

Set up redundant origins with custom VCL using these steps.

  1. In the Fastly web interface, define a health check and assign it to the primary origin server.

  2. Copy the boilerplate VCL from our guide on mixing Fastly VCL with custom VCL, and paste it into a new file.

  3. Replace the vcl_recv sub with:

    1sub vcl_recv {
    2#FASTLY recv
    3 set req.backend = F_<primary_origin>;
    4 if (!req.backend.healthy) {
    5 set req.backend = F_<secondary_origin>;
    6 }
    7 if (req.method != "HEAD" && req.method != "GET" && req.method != "FASTLYPURGE") {
    8 return(pass);
    9 }
    10 return(lookup);
    11}

    To find the exact backend names, view the generated VCL.

  4. Upload your VCL file.

Was this guide helpful?

Do not use this form to send sensitive information. If you need assistance, contact support.