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 and click the Configure link.
- From the service menu, select the appropriate service.
- Click the Edit configuration button and then select Clone active. 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.