Edge Connector

Edge Connector centralizes connection settings, allowing you to reuse them across multiple applications, and provides granular control over performance, security, and routing through a unified interface for connecting Edge Applications to an origin, natively incorporating features such as load balancing, HMAC authentication, and Origin Shield.

Implementation

ScopeResource
Edge Application first stepsFirst steps
Load Balancer moduleLoad Balancer

Connector Type

There are three options for you to connect your origin:

  • HTTP: Connect to external origins via secure HTTP protocol for data delivery.
  • Edge Storage: Link your Edge Storage bucket.
  • Live Ingest: Designed for live video stream ingestion, this feature allows you to select the ingestion region to optimize latency.

HTTP

Allows you to connect to generic HTTP servers, offering several configuration options, including:

  • Connection Options: Provides control over DNS resolution, transport policy (HTTP/HTTPS), HTTP version, host, path prefix, redirect behavior, and headers for real IP and port.
  • Advanced Modules: Enables features such as load balancing when using multiple origins (using methods like round-robin, least connections, IP hash, and support for retries and timeouts), Origin Shield (with IP ACL), and HMAC for additional security when communicating with the backend.

Host Header

The Host header is used by your origin to identify the virtualhost and locate your content or application. When configuring an origin in Azion Console, you have the option to customize the value sent by Azion in the Host header.

If the Host Header field is left blank, Azion will use the same address specified in the Address field as the default. If your origin is configured to respond to a virtualhost using the same address as configured in DNS, you can leave the Host Header field empty.

However, if your origin responds to a virtualhost at an address different from the one set in DNS, you must fill in a custom value for the Host header in FQDN format, for example, www.yourdomain.com.

Alternatively, you can use the ${host} variable in the Host Header field to instruct the edge nodes to pass on the Host header received from your visitors to the origin. This setting is useful if you have multiple virtualhosts being served by the same origin.

Path

Path allows you to specify a custom path from which edge nodes will request your origin content. Azion appends the Path to the URI when forwarding the request to your origin, but it doesn’t append the URI for user requests. For instance, if you determine that the path of your origin is under /secure and you have configured your application to be delivered through yourdomain.com, the /secure path won’t be part of the request to the end user.

Address

To define an origin for your content, you need to specify the address of your server as either a domain name in FQDN format or an IPv4/IPv6 address. If you have defined the Origin Protocol Policy as Enforce HTTP or Enforce HTTPS, you can customize the origin port using the HTTP port and HTTPS port fields.

Protocol Policy

Azion’s delivery architecture offers you the flexibility to tailor the type of connection between the edge nodes and your origin based on your specific requirements:

  • Preserve HTTP/HTTPS protocol: This option maintains the same connection protocol (HTTP or HTTPS) and ports used by your users when accessing your content on Azion. It ensures continuity from Azion to your origin server.
  • Enforce HTTP: With this setting, the connection between Azion’s edge nodes and your origin will be exclusively through HTTP, regardless of the connection protocol and ports used by your users to access Azion’s content. You can customize a specific port for your origin in the Address field, deviating from the default port (80 for HTTP) if desired.
  • Enforce HTTPS: This option mandates the connection between Azion’s edge nodes and your origin to be exclusively through HTTPS, regardless of the connection protocol and ports used by your users to access Azion’s content. You can customize a specific port for your origin in the Address field, different from the default port (443 for HTTPS) if required.

HMAC Authentication

HMAC (Hash-Based Message Authentication Codes) is the built-in support for AWS S3 or compatible authentication.

You should include in the HMAC access credentials given by your storage provider: Region, Access Key, and Secret Key.

Timeouts

The connection_timeout parameter specifies the timeout, in seconds, for establishing a connection to the origin. The read_write_timeout parameter defines the timeout, in seconds, for read and write operations. This value represents the maximum interval allowed between the last byte sent or received on the active connection to the origin.

Modules

Load Balancer

When HTTP is selected as a connector type, you can configure the Balancing Method to determine how large amounts of requests are distributed among addresses, add multiple Addresses to your Edge Connector, and change the Server Role and Weight of each address.

Learn more about Load Balancer
Origin Shield

Origin Shield is a security feature that provides a dynamic Network List, Azion Origin Shield, containing all IP/CIDR addresses used by Azion’s network infrastructure.

This list serves as a data source for enforcing a strict IP Access Control List (ACL) on your origin servers. By configuring your origin’s firewall to permit inbound traffic exclusively from the addresses specified in this list, you establish a Layer 3/4 security perimeter, ensuring that only Azion’s edge servers can connect to your origin and blocking all direct access from external sources.

Clients are responsible for automating updates to their security policies to keep them aligned with the current Origin Shield addresses. To activate it, enable Origin IP ACL for at least one Edge Connector in your account.

Attributes

Below are the attributes for the Edge Connector API when using the HTTP connector type.

AttributeDescriptionExample/Values
addressesList of backend addresses with configuration details.
activeIndicates if the address is active.true, false
addressBackend address (hostname or IP)."string"
http_portHTTP port for the backend address.80
https_portHTTPS port for the backend address.443
modulesModules applied at the address level.
load_balancerLoad balancer configuration for this address.
server_roleServer role for load balancing."primary"
weightServer weight used in load balancing.1
connection_optionsSpecifies connection options for backend connections.
dns_resolutionDNS resolution policy for the backend connection."preserve"
transport_policyTransport protocol preference (HTTP/HTTPS)."preserve"
http_version_policyHTTP version to use for the connection."http1_1"
hostHost header sent to the backend."${host}"
path_prefixAdditional prefix to be added to the path.""
following_redirectIndicates if redirects from the backend are followed.false
real_ip_headerHeader used to transmit the real client IP address."X-Real-IP"
real_port_headerHeader used to transmit the client source port."X-Real-PORT"
modulesAdvanced modules for backend connection handling.
load_balancerLoad balancer settings.
enabledIndicates if load balancing is enabled.false
configLoad balancer configuration options.
methodLoad balancing method."round_robin"
max_retriesMaximum number of retries for backend connections.0
connection_timeoutTimeout in seconds for establishing a connection.60
read_write_timeoutTimeout in seconds for read/write operations.120
origin_shieldOrigin Shield settings.
enabledIndicates if Origin Shield is enabled.false
configOrigin Shield configuration options.
origin_ip_aclIP ACL configuration for Origin Shield.
enabledEnables IP ACL for Origin Shield.false
hmacHMAC configuration for Origin Shield.
enabledIndicates if HMAC security is enabled.false
configHMAC configuration options.
typeHMAC type."aws4_hmac_sha256"
attributesHMAC credential set.
regionAWS region for HMAC."string"
serviceAWS service for HMAC."s3"
access_keyAWS access key for HMAC."string"
secret_keyAWS secret key for HMAC."string"

Edge Storage

When Edge Storage is selected as an origin type, it connects directly with an Azion Edge Storage bucket where you must add the bucket name and prefix.

The bucket name is defined when you create or modify an Edge Storage bucket.

The prefix is the path to the folder within the bucket that stores the objects. This field can be left blank if you wish your application’s origin to be the root of the bucket.

Attributes

Below are the attributes for the Edge Connector API when using the Edge Storage connector type.

AttributeTypeDescription
bucketStringThe name of the bucket.
prefixStringThe prefix path for the bucket.
Go to Edge Storage reference

Live Ingest

This connector type can be used for scenarios where content providers require high fidelity and low latency, such as live events, e-sports, and educational content. It supports ingestion of live video streams and enables selection of the ingestion region to optimize latency. The platform uses a network of edge locations to improve delivery efficiency and scalability, and provides security features for stream protection. To use this connector type, select your preferred ingestion region to minimize latency, start streaming your live video using the appropriate endpoint, and monitor performance to ensure optimal delivery.

Go to Live Ingest Solution