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 conditions are satisfied for the current request, will be used, unless that behavior is modified using the auto_loadbalance
field described below. These endpoints can be used with static backends only, not dynamic backends.
Data model
address | string | A hostname, IPv4, or IPv6 address for the backend. This is the preferred way to specify the location of your backend. | |
auto_loadbalance | boolean | Whether 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_timeout | integer | Maximum 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_cert | string | Unused. | |
comment | string | A freeform descriptive note. | |
connect_timeout | integer | Maximum duration in milliseconds to wait for a connection to this backend to be established. If exceeded, the connection is aborted and a synthetic 503 response will be presented instead. May be set at runtime using bereq.connect_timeout . | |
first_byte_timeout | integer | Maximum 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 synthetic 503 response will be presented instead. May be set at runtime using bereq.first_byte_timeout . | |
healthcheck | string | The name of the healthcheck to use with this backend. | |
hostname | string | The hostname of the backend. May be used as an alternative to address to set the backend location. | |
ipv4 | string | IPv4 address of the backend. May be used as an alternative to address to set the backend location. | |
ipv6 | string | IPv6 address of the backend. May be used as an alternative to address to set the backend location. | |
keepalive_time | integer | How long in seconds to keep a persistent connection to the backend between requests. | |
max_conn | integer | Maximum number of concurrent connections this backend will accept. | |
max_tls_version | string | Maximum 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_version | string | Minimum 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. | |
name | string | The name of the backend. | |
override_host | string | If 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. | |
port | integer | Port 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_condition | string | Name 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. | |
share_key | string | Value that when shared across backends will enable those backends to share the same health check. | |
shield | string | Identifier of the POP to use as a shield. | |
ssl_ca_cert | string | CA certificate attached to origin. | |
ssl_cert_hostname | string | Overrides ssl_hostname , but only for cert verification. Does not affect SNI at all. | |
ssl_check_cert | boolean | Be strict on checking SSL certs. [Default true ] | |
ssl_ciphers | string | List 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_cert | string | Client certificate attached to origin. | |
ssl_client_key | string | Client key attached to origin. | |
ssl_hostname | string | Deprecated. Use ssl_cert_hostname and ssl_sni_hostname to configure certificate validation. | |
ssl_sni_hostname | string | Overrides ssl_hostname , but only for SNI in the handshake. Does not affect cert validation at all. | |
tcp_keepalive_enable | boolean | Whether to enable TCP keepalives for backend connections. Varnish defaults to using keepalives if this is unspecified. | |
tcp_keepalive_interval | integer | Interval in seconds between subsequent keepalive probes. | |
tcp_keepalive_probes | integer | Number of unacknowledged probes to send before considering the connection dead. | |
tcp_keepalive_time | integer | Interval in seconds between the last data packet sent and the first keepalive probe. | |
use_ssl | boolean | Whether or not to require TLS for connections to this backend. | |
weight | integer | Weight 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. | |
created_at | string | Date and time in ISO 8601 format. Read-only. | |
deleted_at | string | Date and time in ISO 8601 format. Read-only. | |
locked | boolean | Indicates whether the version of the service this backend is attached to accepts edits. Read-only. | |
service_id | string | Alphanumeric string identifying the service. Read-only. | |
updated_at | string | Date and time in ISO 8601 format. Read-only. | |
version | integer | Integer identifying a service version. Read-only. |