mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-30 17:53:21 -04: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
 | |
|     }
 | |
| }
 | |
| ~~~
 |