Backend

A backend (also sometimes called an origin server) is a server identified by IP address or hostname, from which Fastly will fetch your content. There can be multiple backends attached to a service, but each backend is specific to one service. By default, the first backend added to a service configuration will be used for all requests (provided it meets any conditions attached to it). If multiple backends are defined for a service, the first one that has no attached conditions, or whose condition is satisfied for the current request, will be used, unless that behavior is modified using the auto_loadbalance field described below.

Data model

addressStringA hostname, IPv4, or IPv6 address for the backend. This is the preferred way to specify the location of your backend.
auto_loadbalanceBooleanWhether or not this backend should be automatically load balanced. If true, all backends with this setting that don't have a request_condition will be selected based on their weight.
between_bytes_timeoutIntegerMaximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend. If exceeded, the response received so far will be considered complete and the fetch will end. May be set at runtime using bereq.between_bytes_timeout.
client_certStringUnused.
commentStringFree text field to record a note or description of the backend, which will be displayed in the management web interface.
connect_timeoutIntegerMaximum duration in milliseconds to wait for a connection to this backend to be established. If exceeded, the connection is aborted and a synthethic 503 response will be presented instead. May be set at runtime using bereq.connect_timeout.
first_byte_timeoutIntegerMaximum duration in milliseconds to wait for the server response to begin after a TCP connection is established and the request has been sent. If exceeded, the connection is aborted and a synthethic 503 response will be presented instead. May be set at runtime using bereq.first_byte_timeout.
healthcheckStringThe name of the healthcheck to use with this backend.
hostnameStringThe hostname of the backend. May be used as an alternative to address to set the backend location.
ipv4StringIPv4 address of the backend. May be used as an alternative to address to set the backend location.
ipv6StringIPv6 address of the backend. May be used as an alternative to address to set the backend location.
lockedBooleanRead-only. Indicates whether the version of the service this backend is attached to accepts edits.
max_connIntegerMaximum number of concurrent connections this backend will accept.
max_tls_versionStringMaximum allowed TLS version on SSL connections to this backend. If your backend server is not able to negotiate a connection meeting this constraint, a synthetic 503 error response will be generated.
min_tls_versionStringMinimum allowed TLS version on SSL connections to this backend. If your backend server is not able to negotiate a connection meeting this constraint, a synthetic 503 error response will be generated.
nameStringThe name of the backend. Required.
override_hostStringIf set, will replace the client-supplied HTTP Host header on connections to this backend. Applied after VCL has been processed, so this setting will take precedence over changing bereq.http.Host in VCL.
portIntegerPort on which the backend server is listening for connections from Fastly. Setting port to 80 or 443 will also set use_ssl automatically (to false and true respectively), unless explicitly overridden by setting use_ssl in the same request.
request_conditionStringName of a Condition, which if satisfied, will select this backend during a request. If set, will override any auto_loadbalance setting. By default, the first backend added to a service is selected for all requests.
service_idStringRead-only. The Service ID of the Fastly service to which this backend is attached.
shieldStringData center POP code of the data center to use as a shield.
ssl_ca_certStringCA certificate attached to origin.
ssl_cert_hostnameStringOverrides ssl_hostname, but only for cert verification. Does not affect SNI at all.
ssl_check_certBooleanBe strict on checking SSL certs. Default true.
ssl_ciphersStringList of OpenSSL ciphers to support for connections to this origin. If your backend server is not able to negotiate a connection meeting this constraint, a synthetic 503 error response will be generated.
ssl_client_certStringClient certificate attached to origin.
ssl_client_keyStringClient key attached to origin.
ssl_hostnameString(Deprecated) Use ssl_cert_hostname and ssl_sni_hostname to configure certificate validation.
ssl_sni_hostnameStringOverrides ssl_hostname, but only for SNI in the handshake. Does not affect cert validation at all.
use_sslBooleanWhether or not to require TLS for connections to this backend.
versionIntegerThe version number of the service version to which this backend is attached.
weightIntegerWeight used to load balance this backend against others. May be any positive integer. If auto_loadbalance is true, the chance of this backend being selected is equal to its own weight over the sum of all weights for backends that have auto_loadbalance set to true.

Endpoints

List backends

GET/service/service_id/version/version/backend

Describe a backend

GET/service/service_id/version/version/backend/name

Create a backend

POST/service/service_id/version/version/backend

Update a backend

PUT/service/service_id/version/version/backend/old_name

Delete a backend

DELETE/service/service_id/version/version/backend/name