You can set custom HTTP headers in your varnish configuration (VCL) based on the variables we expose. Use the geolocation features we have built into Varnish to create location-based tagging. We provide a list of geographic information based on a client's IP address. For a complete list of available geolocation variables, read about which geolocation features are accessible via VCL.
In the example below, an HTTP header Fastly-GeoIP-CountryCode is created with the two letter country code of the client's IP address using VCL Snippets.
- Log in to the Fastly web interface.
- From the All services page, select the appropriate service. You can use the search box to search by ID, name, or domain.
- Click the Edit configuration button and then select the option to clone the active version. The Domains page appears.
- Click the VCL Snippets link. The VCL Snippets page appears.
Click Create Snippet. The Create a VCL snippet page appears.
- In the Name field, type an appropriate name (e.g., GeoLocation Header).
- From the Type controls, select within subroutine.
- From the Select subroutine menu, select recv (vcl_recv).
In the VCL field, add the following condition:
set req.http.Fastly-GeoIP-CountryCode = client.geo.country_code;
- Click Create to create the snippet.
- Click the Activate button to deploy your configuration changes.