mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-03 18:53:13 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# header
 | 
						|
 | 
						|
## Name
 | 
						|
 | 
						|
*header* - modifies the header for queries and responses.
 | 
						|
 | 
						|
## Description
 | 
						|
 | 
						|
*header* ensures that the flags are in the desired state for queries and responses.
 | 
						|
The modifications are made transparently for the client and subsequent plugins.
 | 
						|
 | 
						|
## Syntax
 | 
						|
 | 
						|
~~~
 | 
						|
header {
 | 
						|
    [SELECTOR] ACTION FLAGS...
 | 
						|
    [SELECTOR] ACTION FLAGS...
 | 
						|
}
 | 
						|
~~~
 | 
						|
 | 
						|
* **SELECTOR** defines if the action should be applied on `query` or `response`. In future CoreDNS version the selector will be mandatory. For backwards compatibility the action will be applied on `response` if the selector is undefined.
 | 
						|
 | 
						|
* **ACTION** defines the state for DNS message header flags. Actions are evaluated in the order they are defined so last one has the
 | 
						|
  most precedence. Allowed values are:
 | 
						|
    * `set`
 | 
						|
    * `clear`
 | 
						|
* **FLAGS** are the DNS header flags that will be modified. Current supported flags include:
 | 
						|
    * `aa` - Authoritative(Answer)
 | 
						|
    * `ra` - RecursionAvailable
 | 
						|
    * `rd` - RecursionDesired
 | 
						|
 | 
						|
## Examples
 | 
						|
 | 
						|
Make sure recursive available `ra` flag is set in all the responses:
 | 
						|
 | 
						|
~~~ corefile
 | 
						|
. {
 | 
						|
    header {
 | 
						|
        response set ra
 | 
						|
    }
 | 
						|
}
 | 
						|
~~~
 | 
						|
 | 
						|
Make sure "recursion available" `ra` and "authoritative answer" `aa` flags are set and "recursion desired" is cleared in all responses:
 | 
						|
 | 
						|
~~~ corefile
 | 
						|
. {
 | 
						|
    header {
 | 
						|
        response set ra aa
 | 
						|
        response clear rd
 | 
						|
    }
 | 
						|
}
 | 
						|
~~~
 | 
						|
 | 
						|
Make sure "recursion desired" `rd` is set for all subsequent plugins::
 | 
						|
 | 
						|
~~~ corefile
 | 
						|
. {
 | 
						|
    header {
 | 
						|
        query set rd
 | 
						|
    }
 | 
						|
}
 | 
						|
~~~
 |