A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developers.cloudflare.com/terraform/additional-configurations/transform-rules/ below:

Transform Rules configuration using Terraform · Cloudflare Terraform docs

This page provides examples of creating Transform Rules in a zone using Terraform. The examples cover the following scenarios:

If you are using the Cloudflare API, refer to the following resources:

Obtain the necessary account or zone IDs

The Terraform configurations provided in this page need the zone ID (or account ID) of the zone/account where you will deploy rulesets.

Import or delete existing rulesets

Terraform assumes that it has complete control over account and zone rulesets. If you already have rulesets configured in your account or zone, do one of the following:

Create a URL rewrite rule

The following example creates a URL rewrite rule that rewrites requests for example.com/old-folder to example.com/new-folder:

Note

Terraform code snippets below refer to the v4 SDK only.

resource "cloudflare_ruleset" "transform_url_rewrite" {

zone_id = "<ZONE_ID>"

name = "Transform Rule performing a static URL rewrite"

description = ""

kind = "zone"

phase = "http_request_transform"

rules {

ref = "url_rewrite_old_folder"

description = "Example URL rewrite rule"

expression = "(http.host eq \"example.com\" and http.request.uri.path eq \"/old-folder\")"

action = "rewrite"

action_parameters {

uri {

path {

value = "/new-folder"

}

}

}

}

}

Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting.

To create another URL rewrite rule, add a new rules object to the same cloudflare_ruleset resource.

For more information on rewriting URLs, refer to URL Rewrite Rules.

The following configuration example performs the following adjustments to HTTP request headers:

Note

Terraform code snippets below refer to the v4 SDK only.

resource "cloudflare_ruleset" "transform_modify_request_headers" {

zone_id = "<ZONE_ID>"

name = "Transform Rule performing HTTP request header modifications"

description = ""

kind = "zone"

phase = "http_request_late_transform"

rules {

ref = "modify_request_headers"

description = "Example request header transform rule"

expression = "true"

action = "rewrite"

action_parameters {

headers {

name = "my-header-1"

operation = "set"

value = "Fixed value"

}

headers {

name = "my-header-2"

operation = "set"

expression = "cf.zone.name"

}

headers {

name = "existing-header"

operation = "remove"

}

}

}

}

Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting.

To create another request header transform rule, add a new rules object to the same cloudflare_ruleset resource.

For more information on modifying request headers, refer to Request Header Transform Rules.

The following configuration example performs the following adjustments to HTTP response headers:

Note

Terraform code snippets below refer to the v4 SDK only.

resource "cloudflare_ruleset" "transform_modify_response_headers" {

zone_id = "<ZONE_ID>"

name = "Transform Rule performing HTTP response header modifications"

description = ""

kind = "zone"

phase = "http_response_headers_transform"

rules {

ref = "modify_response_headers"

description = "Example response header transform rule"

expression = "true"

action = "rewrite"

action_parameters {

headers {

name = "my-header-1"

operation = "set"

value = "Fixed value"

}

headers {

name = "my-header-2"

operation = "set"

expression = "cf.zone.name"

}

headers {

name = "existing-header"

operation = "remove"

}

}

}

}

Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting.

To create another response header transform rule, add a new rules object to the same cloudflare_ruleset resource.

For more information on modifying response headers, refer to Response Header Transform Rules.

Configure Managed Transforms

Note

Terraform code snippets below refer to the v4 SDK only.

Use the cloudflare_managed_headers Terraform resource to configure Managed Transforms. For example:

resource "cloudflare_managed_headers" "tf_example" {

zone_id = "<ZONE_ID>"

managed_request_headers {

id = "add_visitor_location_headers"

enabled = true

}

managed_response_headers {

id = "remove_x-powered-by_header"

enabled = true

}

}

Make sure you include the Managed Transforms you are updating in the correct object (managed_request_headers or managed_response_headers).

For more information on Managed Transforms, refer to Managed Transforms.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4