]> git.ipfire.org Git - thirdparty/pdns.git/blob - docs/settings.rst
2615a1f4c14cb7134fb100977f478be3b4bd7b29
[thirdparty/pdns.git] / docs / settings.rst
1 Authoritative Server Settings
2 =============================
3
4 All PowerDNS Authoritative Server settings are listed here, excluding
5 those that originate from backends, which are documented in the relevant
6 chapters. These settings can be set inside ``pdns.conf`` or on the
7 commandline when invoking the ``pdns`` binary.
8
9 You can use ``+=`` syntax to set some variables incrementally, but this
10 requires you to have at least one non-incremental setting for the
11 variable to act as base setting. This is mostly useful for
12 :ref:`setting-include-dir` directive.
13
14 For boolean settings, specifying the name of the setting without a value
15 means ``yes``.
16
17 .. _setting-8bit-dns:
18
19 ``8bit-dns``
20 ------------
21
22 - Boolean
23 - Default: no
24
25 .. versionadded:: 4.0.0
26
27 Allow 8 bit DNS queries.
28
29 .. _setting-allow-axfr-ips:
30
31 ``allow-axfr-ips``
32 ------------------
33
34 - IP ranges, separated by commas
35 - Default: 127.0.0.0/8,::1
36
37 If set, only these IP addresses or netmasks will be able to perform
38 AXFR.
39
40 .. _setting-allow-dnsupdate-from:
41
42 ``allow-dnsupdate-from``
43 ------------------------
44
45 - IP ranges, separated by commas
46 - Default: 127.0.0.0/8,::1
47
48 Allow DNS updates from these IP ranges. Set to empty string to honour ``ALLOW-DNSUPDATE-FROM`` in :ref:`metadata-allow-dnsupdate-from`.
49
50 .. _setting-allow-notify-from:
51
52 ``allow-notify-from``
53 ---------------------
54
55 - IP ranges, separated by commas
56 - Default: 0.0.0.0/0,::/0
57
58 Allow AXFR NOTIFY from these IP ranges. Setting this to an empty string
59 will drop all incoming notifies.
60
61 .. _setting-allow-recursion:
62
63 ``allow-recursion``
64 -------------------
65
66 - IP ranges, separated by commas
67 - Default: 0.0.0.0/0
68
69 .. deprecated:: 4.1.0
70 Recursion has been removed, see :doc:`guides/recursion`
71
72 By specifying ``allow-recursion``, recursion can be restricted to
73 netmasks specified. The default is to allow recursion from everywhere.
74 Example: ``allow-recursion=198.51.100.0/24, 10.0.0.0/8, 192.0.2.4``.
75
76 .. _setting-allow-unsigned-notify:
77
78 ``allow-unsigned-notify``
79 -------------------------
80
81 - Boolean
82 - Default: yes
83
84 .. versionadded:: 4.0.0
85
86 Turning this off requires all notifications that are received to be
87 signed by valid TSIG signature for the zone.
88
89 .. _setting-allow-unsigned-supermaster:
90
91 ``allow-unsigned-supermaster``
92 ------------------------------
93
94 - Boolean
95 - Default: yes
96
97 .. versionadded:: 4.0.0
98
99 Turning this off requires all supermaster notifications to be signed by
100 valid TSIG signature. It will accept any existing key on slave.
101
102 .. _setting-also-notify:
103
104 ``also-notify``
105 ---------------
106
107 - IP addresses, separated by commas
108
109 When notifying a domain, also notify these nameservers. Example:
110 ``also-notify=192.0.2.1, 203.0.113.167``. The IP addresses listed in
111 ``also-notify`` always receive a notification. Even if they do not match
112 the list in :ref:`setting-only-notify`.
113
114 .. _setting-any-to-tcp:
115
116 ``any-to-tcp``
117 --------------
118
119 - Boolean
120 - Default: yes
121
122 .. versionchanged:: 4.0.1
123 was 'no' before.
124
125 Answer questions for the ANY on UDP with a truncated packet that refers
126 the remote server to TCP. Useful for mitigating reflection attacks.
127
128 .. _setting-api:
129
130 ``api``
131 -------
132
133 - Boolean
134 - Default: no
135
136 Enable/disable the :doc:`http-api/index`.
137
138 .. _setting-api-key:
139
140 ``api-key``
141 -----------
142
143 - String
144
145 .. versionadded:: 4.0.0
146
147 Static pre-shared authentication key for access to the REST API.
148
149 .. _setting-api-readonly:
150
151 ``api-readonly``
152 ----------------
153
154 - Boolean
155 - Default: no
156
157 .. versionadded:: 4.0.0
158 .. versionchanged:: 4.2.0
159 This setting has been removed in 4.2.0.
160
161 Disallow data modification through the REST API when set.
162
163 .. _setting-axfr-fetch-timeout:
164
165 ``axfr-fetch-timeout``
166 ----------------------
167
168 - Integer
169 - Default: 10
170
171 .. versionadded:: 4.3.0
172
173 Maximum time in seconds for inbound AXFR to start or be idle after starting.
174
175 .. _setting-axfr-lower-serial:
176
177 ``axfr-lower-serial``
178 ---------------------
179
180 - Boolean
181 - Default: no
182
183 .. versionadded:: 4.0.4
184
185 Also AXFR a zone from a master with a lower serial.
186
187 .. _setting-cache-ttl:
188
189 ``cache-ttl``
190 -------------
191
192 - Integer
193 - Default: 20
194
195 Seconds to store packets in the :ref:`packet-cache`. A value of 0 will disable the cache.
196
197 .. _setting-carbon-instance:
198
199 ``carbon-instance``
200 -------------------
201
202 - String
203 - Default: auth
204
205 .. versionadded:: 4.2.0
206
207 Set the instance or third string of the metric key. Be careful not to include
208 any dots in this setting, unless you know what you are doing.
209 See :ref:`metricscarbon`
210
211 .. _setting-carbon-interval:
212
213 ``carbon-interval``
214 -------------------
215
216 - Integer
217 - Default: 30
218
219 If sending carbon updates, this is the interval between them in seconds.
220 See :ref:`metricscarbon`.
221
222 .. _setting-carbon-namespace:
223
224 ``carbon-namespace``
225 --------------------
226
227 - String
228 - Default: pdns
229
230 .. versionadded:: 4.2.0
231
232 Set the namespace or first string of the metric key. Be careful not to include
233 any dots in this setting, unless you know what you are doing.
234 See :ref:`metricscarbon`
235
236 .. _setting-carbon-ourname:
237
238 ``carbon-ourname``
239 ------------------
240
241 - String
242 - Default: the hostname of the server
243
244 If sending carbon updates, if set, this will override our hostname. Be
245 careful not to include any dots in this setting, unless you know what
246 you are doing. See :ref:`metricscarbon`
247
248 .. _setting-carbon-server:
249
250 ``carbon-server``
251 -----------------
252
253 - IP Address
254
255 Send all available metrics to this server via the carbon protocol, which
256 is used by graphite and metronome. It has to be an address (no
257 hostnames). Moreover you can specify more than one server using a comma delimited list, ex:
258 carbon-server=10.10.10.10,10.10.10.20.
259 You may specify an alternate port by appending :port, ex:
260 127.0.0.1:2004. See :ref:`metricscarbon`.
261
262 .. _setting-chroot:
263
264 ``chroot``
265 ----------
266
267 - Path
268
269 If set, chroot to this directory for more security. See :doc:`security`.
270
271 Make sure that ``/dev/log`` is available from within the chroot. Logging
272 will silently fail over time otherwise (on logrotate).
273
274 When setting ``chroot``, all other paths in the config (except for
275 :ref:`setting-config-dir` and :ref:`setting-module-dir`)
276 set in the configuration are relative to the new root.
277
278 When running on a system where systemd manages services, ``chroot`` does
279 not work out of the box, as PowerDNS cannot use the ``NOTIFY_SOCKET``.
280 Either don't ``chroot`` on these systems or set the 'Type' of the this
281 service to 'simple' instead of 'notify' (refer to the systemd
282 documentation on how to modify unit-files)
283
284 .. _setting-config-dir:
285
286 ``config-dir``
287 --------------
288
289 - Path
290
291 Location of configuration directory (``pdns.conf``). Usually
292 ``/etc/powerdns``, but this depends on ``SYSCONFDIR`` during
293 compile-time.
294
295 .. _setting-config-name:
296
297 ``config-name``
298 ---------------
299
300 - String
301
302 Name of this virtual configuration - will rename the binary image. See
303 :doc:`guides/virtual-instances`.
304
305 .. _setting-control-console:
306
307 ``control-console``
308 -------------------
309
310 Debugging switch - don't use.
311
312 .. _setting-daemon:
313
314 ``daemon``
315 ----------
316
317 - Boolean
318 - Default: no
319
320 Operate as a daemon.
321
322 .. _setting-default-api-rectify:
323
324 ``default-api-rectify``
325 -----------------------
326 - Boolean
327 - Default: yes
328
329 .. versionadded:: 4.2.0
330
331 The value of :ref:`metadata-api-rectify` if it is not set on the zone.
332
333 .. note::
334 Pre 4.2.0 the default was always no.
335
336 .. _setting-default-ksk-algorithms:
337 .. _setting-default-ksk-algorithm:
338
339 ``default-ksk-algorithm``
340 -------------------------
341
342 - String
343 - Default: ecdsa256
344
345 .. versionchanged:: 4.1.0
346 Renamed from ``default-ksk-algorithms``. No longer supports multiple algorithm names.
347
348 The algorithm that should be used for the KSK when running
349 :doc:`pdnsutil secure-zone <manpages/pdnsutil.1>` or using the :doc:`Zone API endpoint <http-api/cryptokey>`
350 to enable DNSSEC. Must be one of:
351
352 * rsasha1
353 * rsasha256
354 * rsasha512
355 * ecdsa256 (ECDSA P-256 with SHA256)
356 * ecdsa384 (ECDSA P-384 with SHA384)
357 * ed25519
358 * ed448
359
360 .. note::
361 Actual supported algorithms depend on the crypto-libraries
362 PowerDNS was compiled against. To check the supported DNSSEC algoritms
363 in your build of PowerDNS, run ``pdnsutil list-algorithms``.
364
365 .. _setting-default-ksk-size:
366
367 ``default-ksk-size``
368 --------------------
369
370 - Integer
371 - Default: whichever is default for `default-ksk-algorithm`_
372
373 The default keysize for the KSK generated with :doc:`pdnsutil secure-zone <dnssec/pdnsutil>`.
374 Only relevant for algorithms with non-fixed keysizes (like RSA).
375
376 .. _setting-default-publish-cdnskey:
377
378 ``default-publish-cdnskey``
379 ---------------------------
380 - Integer
381 - Default: empty
382
383 .. versionadded:: 4.3.0
384
385 The default PUBLISH-CDNSKEY value for zones that do not have one individually specified.
386 See the :ref:`metadata-publish-cdnskey-publish-cds` docs for more information.
387
388 .. _setting-default-publish-cds:
389
390 ``default-publish-cds``
391 -----------------------
392
393 - Comma-separated integers
394 - Default: empty
395
396 .. versionadded:: 4.3.0
397
398 The default PUBLISH-CDS value for zones that do not have one individually specified.
399 See the :ref:`metadata-publish-cdnskey-publish-cds` docs for more information.
400
401 .. _setting-default-soa-edit:
402
403 ``default-soa-edit``
404 --------------------
405
406 - String
407 - Default: empty
408
409 Use this soa-edit value for all zones if no
410 :ref:`metadata-soa-edit` metadata value is set.
411
412 .. _setting-default-soa-edit-signed:
413
414 ``default-soa-edit-signed``
415 ---------------------------
416
417 - String
418 - Default: empty
419
420 Use this soa-edit value for all signed zones if no
421 :ref:`metadata-soa-edit` metadata value is set.
422 Overrides :ref:`setting-default-soa-edit`
423
424 .. _setting-default-soa-mail:
425
426 ``default-soa-mail``
427 --------------------
428
429 - String
430
431 .. deprecated:: 4.2.0
432 This setting has been deprecated and will be removed in 4.3.0
433
434 Mail address to insert in the SOA record if none set in the backend.
435
436 .. _setting-default-soa-name:
437
438 ``default-soa-name``
439 --------------------
440
441 - String
442 - Default: a.misconfigured.powerdns.server
443
444 .. deprecated:: 4.2.0
445 This setting has been deprecated and will be removed in 4.3.0
446
447 Name to insert in the SOA record if none set in the backend.
448
449 .. _setting-default-ttl:
450
451 ``default-ttl``
452 ---------------
453
454 - Integer
455 - Default: 3600
456
457 TTL to use when none is provided.
458
459 .. _setting-default-zsk-algorithms:
460 .. _setting-default-zsk-algorithm:
461
462 ``default-zsk-algorithm``
463 --------------------------
464
465 - String
466 - Default: (empty)
467
468 .. versionchanged:: 4.1.0
469 Renamed from ``default-zsk-algorithms``. Does no longer support multiple algorithm names.
470
471 The algorithm that should be used for the ZSK when running
472 :doc:`pdnsutil secure-zone <manpages/pdnsutil.1>` or using the :doc:`Zone API endpoint <http-api/cryptokey>`
473 to enable DNSSEC. Must be one of:
474
475 * rsasha1
476 * rsasha256
477 * rsasha512
478 * ecdsa256 (ECDSA P-256 with SHA256)
479 * ecdsa384 (ECDSA P-384 with SHA384)
480 * ed25519
481 * ed448
482
483 .. note::
484 Actual supported algorithms depend on the crypto-libraries
485 PowerDNS was compiled against. To check the supported DNSSEC algoritms
486 in your build of PowerDNS, run ``pdnsutil list-algorithms``.
487
488 .. _setting-default-zsk-size:
489
490 ``default-zsk-size``
491 --------------------
492
493 - Integer
494 - Default: 0 (automatic default for `default-zsk-algorithm`_)
495
496 The default keysize for the ZSK generated with :doc:`pdnsutil secure-zone <dnssec/pdnsutil>`.
497 Only relevant for algorithms with non-fixed keysizes (like RSA).
498
499 .. _setting-direct-dnskey:
500
501 ``direct-dnskey``
502 -----------------
503
504 - Boolean
505 - Default: no
506
507 Read additional DNSKEY, CDS and CDNSKEY records from the records table/your BIND zonefile. If not
508 set, DNSKEY, CDS and CDNSKEY records in the zonefiles are ignored.
509
510 .. _setting-disable-axfr:
511
512 ``disable-axfr``
513 ----------------
514
515 - Boolean
516 - Default: no
517
518 Do not allow zone transfers.
519
520 .. _setting-disable-axfr-rectify:
521
522 ``disable-axfr-rectify``
523 ------------------------
524
525 - Boolean
526 - Default: no
527
528 Disable the rectify step during an outgoing AXFR. Only required for
529 regression testing.
530
531 .. _setting-disable-syslog:
532
533 ``disable-syslog``
534 ------------------
535
536 - Boolean
537 - Default: no
538
539 Do not log to syslog, only to stdout. Use this setting when running
540 inside a supervisor that handles logging (like systemd).
541
542 .. warning::
543 Do not use this setting in combination with :ref:`setting-daemon` as all
544 logging will disappear.
545
546 .. _setting-disable-tcp:
547
548 ``disable-tcp``
549 ---------------
550
551 - Boolean
552 - Default: no
553
554 .. versionchanged:: 4.2.0
555 This setting has been removed
556
557 Do not listen to TCP queries. Breaks RFC compliance.
558
559 .. _setting-distributor-threads:
560
561 ``distributor-threads``
562 -----------------------
563
564 - Integer
565 - Default: 3
566
567 Number of Distributor (backend) threads to start per receiver thread.
568 See :doc:`performance`.
569
570 .. _setting-dname-processing:
571
572 ``dname-processing``
573 --------------------
574
575 - Boolean
576 - Default: no
577
578 Synthesise CNAME records from DNAME records as required. This
579 approximately doubles query load. **Do not combine with DNSSEC!**
580
581 .. _setting-dnssec-key-cache-ttl:
582
583 ``dnssec-key-cache-ttl``
584 ------------------------
585
586 - Integer
587 - Default: 30
588
589 Seconds to cache DNSSEC keys from the database. A value of 0 disables
590 caching.
591
592 .. _setting-dnsupdate:
593
594 ``dnsupdate``
595 -------------
596
597 - Boolean
598 - Default: no
599
600 Enable/Disable DNS update (RFC2136) support. See :doc:`dnsupdate` for more.
601
602 .. _setting-do-ipv6-additional-processing:
603
604 ``do-ipv6-additional-processing``
605 ---------------------------------
606
607 - Boolean
608 - Default: yes
609
610 Perform AAAA additional processing. This sends AAAA records in the
611 ADDITIONAL section when sending a referral.
612
613 .. _setting-domain-metadata-cache-ttl:
614
615 ``domain-metadata-cache-ttl``
616 -----------------------------
617
618 - Integer
619 - Default: 60
620
621 Seconds to cache domain metadata from the database. A value of 0
622 disables caching.
623
624 .. _setting-edns-subnet-processing:
625
626 ``edns-subnet-processing``
627 --------------------------
628
629 - Boolean
630 - Default: no
631
632 Enables EDNS subnet processing, for backends that support it.
633
634 .. _setting-enable-lua-records:
635
636 ``enable-lua-records``
637 ----------------------
638
639 - One of ``no``, ``yes`` (or empty), or ``shared``, String
640 - Default: no
641
642 .. versionadded:: 4.2.0
643
644 Globally enable the :doc:`LUA records <lua-records/index>` feature.
645
646 To use shared LUA states, set this to ``shared``, see :ref:`lua-records-shared-state`.
647
648 .. _setting-entropy-source:
649
650 ``entropy-source``
651 ------------------
652
653 - Path
654 - Default: /dev/urandom
655
656 Entropy source file to use.
657
658 .. _setting-expand-alias:
659
660 ``expand-alias``
661 ----------------
662
663 - Boolean
664 - Default: no
665
666 .. versionadded:: 4.1.0
667
668 If this is enabled, ALIAS records are expanded (synthesised to their
669 A/AAAA).
670
671 If this is disabled (the default), ALIAS records will not be expanded and
672 the server will will return NODATA for A/AAAA queries for such names.
673
674 .. note::
675 :ref:`setting-resolver` must also be set for ALIAS expansion to work!
676
677 .. note::
678 In PowerDNS Authoritative Server 4.0.x, this setting did not exist and
679 ALIAS was always expanded.
680
681 .. _setting-forward-dnsupdate:
682
683 ``forward-dnsupdate``
684 ---------------------
685
686 - Boolean
687 - Default: no
688
689 Forward DNS updates sent to a slave to the master.
690
691 .. _setting-forward-notify:
692
693 ``forward-notify``
694 ------------------
695
696 - IP addresses, separated by commas
697
698 IP addresses to forward received notifications to regardless of master
699 or slave settings.
700
701 .. note::
702 The intended use is in anycast environments where it might be
703 necessary for a proxy server to perform the AXFR. The usual checks are
704 performed before any received notification is forwarded.
705
706 .. _setting-guardian:
707
708 ``guardian``
709 ------------
710
711 - Boolean
712 - Default: no
713
714 Run within a guardian process. See :ref:`running-guardian`.
715
716 .. _setting-include-dir:
717
718 ``include-dir``
719 ---------------
720
721 - Path
722
723 Directory to scan for additional config files. All files that end with
724 .conf are loaded in order using ``POSIX`` as locale.
725
726 .. _setting-launch:
727
728 ``launch``
729 ----------
730
731 - Backend names, separated by commas
732
733 Which backends to launch and order to query them in. Launches backends.
734 In its most simple form, supply all backends that need to be launched.
735 e.g.
736
737 .. code-block:: ini
738
739 launch=bind,gmysql,remote
740
741 If you find that you need to query a backend multiple times with
742 different configuration, you can specify a name for later
743 instantiations. e.g.:
744
745 .. code-block:: ini
746
747 launch=gmysql,gmysql:server2
748
749 In this case, there are 2 instances of the gmysql backend, one by the
750 normal name and the second one is called 'server2'. The backend
751 configuration item names change: e.g. ``gmysql-host`` is available to
752 configure the ``host`` setting of the first or main instance, and
753 ``gmysql-server2-host`` for the second one.
754
755 Running multiple instances of the BIND backend is not allowed.
756
757 .. _setting-load-modules:
758
759 ``load-modules``
760 ----------------
761
762 - Paths, separated by commas
763
764 If backends are available in nonstandard directories, specify their
765 location here. Multiple files can be loaded if separated by commas. Only
766 available in non-static distributions.
767
768 .. _setting-local-address:
769
770 ``local-address``
771 -----------------
772 .. versionchanged:: 4.3.0
773 now also takes your IPv6 addresses
774
775 .. versionchanged:: 4.3.0
776 Before 4.3.0, this setting only supported IPv4.
777
778 - IPv4 Addresses, separated by commas or whitespace
779 - Default: 0.0.0.0, ``::``
780
781 Local IP addresses to which we bind. It is highly advised to bind to
782 specific interfaces and not use the default 'bind to any'. This causes
783 big problems if you have multiple IP addresses. Unix does not provide a
784 way of figuring out what IP address a packet was sent to when binding to
785 any.
786
787 .. _setting-local-address-nonexist-fail:
788
789 ``local-address-nonexist-fail``
790 -------------------------------
791
792 - Boolean
793 - Default: no
794
795 Fail to start if one or more of the
796 :ref:`setting-local-address`'s do not exist on this server.
797
798 .. _setting-local-ipv6:
799
800 ``local-ipv6``
801 --------------
802 .. versionchanged:: 4.3.0
803 removed, use :ref:`setting-local-address`
804
805 .. deprecated:: 4.3.0
806 This setting has been removed, use :ref:`setting-localaddress`
807
808 - IPv6 Addresses, separated by commas or whitespace
809 - Default: '::'
810
811 Local IPv6 address to which we bind. It is highly advised to bind to
812 specific interfaces and not use the default 'bind to any'. This causes
813 big problems if you have multiple IP addresses.
814
815 .. _setting-local-ipv6-nonexist-fail:
816
817 ``local-ipv6-nonexist-fail``
818 ----------------------------
819
820 .. deprecated:: 4.3.0
821 This setting has been removed, use :ref:`setting-localaddress-nonexist-fail`
822
823 - Boolean
824 - Default: no
825
826 Fail to start if one or more of the :ref:`setting-local-ipv6`
827 addresses do not exist on this server.
828
829 .. _setting-local-port:
830
831 ``local-port``
832 --------------
833
834 - Integer
835 - Default: 53
836
837 The port on which we listen. Only one port possible.
838
839 .. _setting-log-dns-details:
840
841 ``log-dns-details``
842 -------------------
843
844 - Boolean
845 - Default: no
846
847 If set to 'no', informative-only DNS details will not even be sent to
848 syslog, improving performance.
849
850 .. _setting-log-dns-queries:
851
852 ``log-dns-queries``
853 -------------------
854
855 - Boolean
856 - Default: no
857
858 Tell PowerDNS to log all incoming DNS queries. This will lead to a lot
859 of logging! Only enable for debugging! Set :ref:`setting-loglevel`
860 to at least 5 to see the logs.
861
862 .. _setting-log-timestamp:
863
864 ``log-timestamp``
865 -----------------
866
867 - Bool
868 - Default: yes
869
870 .. versionadded:: 4.1.0
871
872 When printing log lines to stdout, prefix them with timestamps.
873 Disable this if the process supervisor timestamps these lines already.
874
875 .. note::
876 The systemd unit file supplied with the source code already disables timestamp printing
877
878 .. _setting-logging-facility:
879
880 ``logging-facility``
881 --------------------
882
883 If set to a digit, logging is performed under this LOCAL facility. See :ref:`logging-to-syslog`.
884 Do not pass names like 'local0'!
885
886 .. _setting-loglevel:
887
888 ``loglevel``
889 ------------
890
891 - Integer
892 - Default: 4
893
894 Amount of logging. Higher is more. Do not set below 3. Corresponds to "syslog" level values,
895 e.g. error = 3, warning = 4, notice = 5, info = 6
896
897 .. _setting-lua-axfr-script:
898
899 ``lua-axfr-script``
900 -------------------
901
902 - String
903 - Default: empty
904
905 .. versionadded:: 4.1.0
906
907 Script to be used to edit incoming AXFRs, see :ref:`modes-of-operation-axfrfilter`
908
909 .. _setting-lua-health-checks-expire-delay:
910
911 ``lua-health-checks-expire-delay``
912 ----------------------------------
913
914 - Integer
915 - Default: 3600
916
917 .. versionadded:: 4.3.0
918
919 Amount of time (in seconds) to expire (remove) a LUA monitoring check when the record
920 isn't used any more (either deleted or modified).
921
922 .. _setting-lua-health-checks-interval:
923
924 ``lua-health-checks-interval``
925 ------------------------------
926
927 - Integer
928 - Default: 5
929
930 .. versionadded:: 4.3.0
931
932 Amount of time (in seconds) between subsequent monitoring health checks. Does nothing
933 if the checks take more than that time to execute.
934
935 .. _setting-lua-prequery-script:
936
937 ``lua-prequery-script``
938 -----------------------
939
940 - Path
941
942 Lua script to run before answering a query. This is a feature used
943 internally for regression testing. The API of this functionality is not
944 guaranteed to be stable, and is in fact likely to change.
945
946 .. _setting-lua-records-exec-limit:
947
948 ``lua-records-exec-limit``
949 -----------------------------
950
951 - Integer
952 - Default: 1000
953
954 Limit LUA records scripts to ``lua-records-exec-limit`` instructions.
955 Setting this to any value less than or equal to 0 will set no limit.
956
957 .. _setting-master:
958
959 ``master``
960 ----------
961
962 - Boolean
963 - Default: no
964
965 Turn on master support. See :ref:`master-operation`.
966
967 .. _setting-max-cache-entries:
968
969 ``max-cache-entries``
970 ---------------------
971
972 - Integer
973 - Default: 1000000
974
975 .. versionchanged:: 4.1.0
976 The packet and query caches are distinct. Previously, this setting was used for
977 both the packet and query caches. See :ref:`setting-max-packet-cache-entries` for
978 the packet-cache setting.
979
980 Maximum number of entries in the query cache. 1 million (the default)
981 will generally suffice for most installations.
982
983 .. _setting-max-ent-entries:
984
985 ``max-ent-entries``
986 -------------------
987
988 - Integer
989 - Default: 100000
990
991 Maximum number of empty non-terminals to add to a zone. This is a
992 protection measure to avoid database explosion due to long names.
993
994 .. _setting-max-generate-steps:
995
996 ``max-generate-steps``
997 ----------------------
998
999 .. versionadded:: 4.3.0
1000
1001 - Integer
1002 - Default: 0
1003
1004 Maximum number of steps for a '$GENERATE' directive when parsing a
1005 zone file. This is a protection measure to prevent consuming a lot of
1006 CPU and memory when untrusted zones are loaded. Default to 0 which
1007 means unlimited.
1008
1009 .. _setting-max-nsec3-iterations:
1010
1011 ``max-nsec3-iterations``
1012 ------------------------
1013
1014 - Integer
1015 - Default: 500
1016
1017 Limit the number of NSEC3 hash iterations for zone configurations.
1018 For more information see :ref:`dnssec-operational-nsec-modes-params`.
1019
1020 .. _setting-max-packet-cache-entries:
1021
1022 ``max-packet-cache-entries``
1023 ----------------------------
1024
1025 - Integer
1026 - Default: 1000000
1027
1028 .. versionadded:: 4.1.0
1029
1030 Maximum number of entries in the packet cache. 1 million (the default)
1031 will generally suffice for most installations.
1032
1033 .. _setting-max-queue-length:
1034
1035 ``max-queue-length``
1036 --------------------
1037
1038 - Integer
1039 - Default: 5000
1040
1041 If this many packets are waiting for database attention, consider the
1042 situation hopeless and respawn.
1043
1044 .. _setting-max-signature-cache-entries:
1045
1046 ``max-signature-cache-entries``
1047 -------------------------------
1048
1049 - Integer
1050 - Default: 2^31-1 (on most systems), 2^63-1 (on ILP64 systems)
1051
1052 Maximum number of signatures cache entries
1053
1054 .. _setting-max-tcp-connection-duration:
1055
1056 ``max-tcp-connection-duration``
1057 -------------------------------
1058
1059 - Integer
1060 - Default: 0
1061
1062 Maximum time in seconds that a TCP DNS connection is allowed to stay
1063 open. 0 means unlimited. Note that exchanges related to an AXFR or IXFR
1064 are not affected by this setting.
1065
1066 .. _setting-max-tcp-connections:
1067
1068 ``max-tcp-connections``
1069 -----------------------
1070
1071 - Integer
1072 - Default: 20
1073
1074 Allow this many incoming TCP DNS connections simultaneously.
1075
1076 .. _setting-max-tcp-connections-per-client:
1077
1078 ``max-tcp-connections-per-client``
1079 ----------------------------------
1080
1081 - Integer
1082 - Default: 0
1083
1084 Maximum number of simultaneous TCP connections per client. 0 means
1085 unlimited.
1086
1087 .. _setting-max-tcp-transactions-per-conn:
1088
1089 ``max-tcp-transactions-per-conn``
1090 ---------------------------------
1091
1092 - Integer
1093 - Default: 0
1094
1095 Allow this many DNS queries in a single TCP transaction. 0 means
1096 unlimited. Note that exchanges related to an AXFR or IXFR are not
1097 affected by this setting.
1098
1099 .. _setting-module-dir:
1100
1101 ``module-dir``
1102 --------------
1103
1104 - Path
1105
1106 Directory for modules. Default depends on ``PKGLIBDIR`` during
1107 compile-time.
1108
1109 .. _setting-negquery-cache-ttl:
1110
1111 ``negquery-cache-ttl``
1112 ----------------------
1113
1114 - Integer
1115 - Default: 60
1116
1117 Seconds to store queries with no answer in the Query Cache. See :ref:`query-cache`.
1118
1119 .. _setting-no-config:
1120
1121 ``no-config``
1122 -------------
1123
1124 - Boolean
1125 - Default: no
1126
1127 Do not attempt to read the configuration file. Useful for configuration
1128 by parameters from the command line only.
1129
1130 .. _setting-no-shuffle:
1131
1132 ``no-shuffle``
1133 --------------
1134
1135 - Boolean
1136 - Default: no
1137
1138 Do not attempt to shuffle query results, used for regression testing.
1139
1140 .. _setting-non-local-bind:
1141
1142 ``non-local-bind``
1143 ------------------
1144
1145 - Boolean
1146 - Default: no
1147
1148 Bind to addresses even if one or more of the
1149 :ref:`setting-local-address`'s do not exist on this server.
1150 Setting this option will enable the needed socket options to allow
1151 binding to non-local addresses. This feature is intended to facilitate
1152 ip-failover setups, but it may also mask configuration issues and for
1153 this reason it is disabled by default.
1154
1155 .. _setting-only-notify:
1156
1157 ``only-notify``
1158 ---------------
1159
1160 - IP Ranges, separated by commas or whitespace
1161 - Default: 0.0.0.0/0, ::/0
1162
1163 For type=MASTER zones (or SLAVE zones with slave-renotify enabled)
1164 PowerDNS automatically sends NOTIFYs to the name servers specified in
1165 the NS records. By specifying networks/mask as whitelist, the targets
1166 can be limited. The default is to notify the world. To completely
1167 disable these NOTIFYs set ``only-notify`` to an empty value. Independent
1168 of this setting, the IP addresses or netmasks configured with
1169 :ref:`setting-also-notify` and ``ALSO-NOTIFY`` domain metadata
1170 always receive AXFR NOTIFYs.
1171
1172 IP addresses and netmasks can be excluded by prefixing them with a ``!``.
1173 To notify all IP addresses apart from the 192.168.0.0/24 subnet use the following::
1174
1175 only-notify=0.0.0.0/0, ::/0, !192.168.0.0/24
1176
1177 .. note::
1178 Even if NOTIFYs are limited by a netmask, PowerDNS first has to
1179 resolve all the hostnames to check their IP addresses against the
1180 specified whitelist. The resolving may take considerable time,
1181 especially if those hostnames are slow to resolve. If you do not need to
1182 NOTIFY the slaves defined in the NS records (e.g. you are using another
1183 method to distribute the zone data to the slaves), then set
1184 :ref:`setting-only-notify` to an empty value and specify the notification targets
1185 explicitly using :ref:`setting-also-notify` and/or
1186 :ref:`metadata-also-notify` domain metadata to avoid this potential bottleneck.
1187
1188 .. note::
1189 If your slaves support an Internet Protocol version, which your master does not,
1190 then set ``only-notify`` to include only supported protocol version.
1191 Otherwise there will be error trying to resolve address.
1192
1193 For example, slaves support both IPv4 and IPv6, but PowerDNS master have only IPv4,
1194 so allow only IPv4 with ``only-notify``:
1195
1196 .. code-block:: ini
1197
1198 only-notify=0.0.0.0/0
1199
1200 .. _setting-out-of-zone-additional-processing:
1201
1202 ``out-of-zone-additional-processing``
1203 -------------------------------------
1204
1205 - Boolean
1206 - Default: yes
1207
1208 .. deprecated:: 4.2.0
1209 This setting has been removed.
1210
1211 Do out of zone additional processing. This means that if a malicious
1212 user adds a '.com' zone to your server, it is not used for other domains
1213 and will not contaminate answers. Do not enable this setting if you run
1214 a public DNS service with untrusted users.
1215
1216 The docs had previously indicated that the default was "no", but the
1217 default has been "yes" since 2005.
1218
1219 .. _setting-outgoing-axfr-expand-alias:
1220
1221 ``outgoing-axfr-expand-alias``
1222 ------------------------------
1223
1224 - Boolean
1225 - Default: no
1226
1227 If this is enabled, ALIAS records are expanded (synthesised to their
1228 A/AAAA) during outgoing AXFR. This means slaves will not automatically
1229 follow changes in those A/AAAA records unless you AXFR regularly!
1230
1231 If this is disabled (the default), ALIAS records are sent verbatim
1232 during outgoing AXFR. Note that if your slaves do not support ALIAS,
1233 they will return NODATA for A/AAAA queries for such names.
1234
1235 .. _setting-overload-queue-length:
1236
1237 ``overload-queue-length``
1238 -------------------------
1239
1240 - Integer
1241 - Default: 0 (disabled)
1242
1243 If this many packets are waiting for database attention, answer any new
1244 questions strictly from the packet cache.
1245
1246 .. _setting-prevent-self-notification:
1247
1248 ``prevent-self-notification``
1249 -----------------------------
1250
1251 - Boolean
1252 - Default: yes
1253
1254 PowerDNS Authoritative Server attempts to not send out notifications to
1255 itself in master mode. In very complicated situations we could guess
1256 wrong and not notify a server that should be notified. In that case, set
1257 prevent-self-notification to "no".
1258
1259 .. _setting-query-cache-ttl:
1260
1261 ``query-cache-ttl``
1262 -------------------
1263
1264 - Integer
1265 - Default: 20
1266
1267 Seconds to store queries with an answer in the Query Cache. See :ref:`query-cache`.
1268
1269 .. _setting-query-local-address:
1270
1271 ``query-local-address``
1272 -----------------------
1273
1274 - IPv4 Address
1275 - Default: 0.0.0.0
1276
1277 The IP address to use as a source address for sending queries. Useful if
1278 you have multiple IPs and PowerDNS is not bound to the IP address your
1279 operating system uses by default for outgoing packets.
1280
1281 .. _setting-query-local-address6:
1282
1283 ``query-local-address6``
1284 ------------------------
1285
1286 - IPv6 Address
1287 - Default: '::'
1288
1289 Source IP address for sending IPv6 queries.
1290
1291 .. _setting-query-logging:
1292
1293 ``query-logging``
1294 -----------------
1295
1296 - Boolean
1297 - Default: no
1298
1299 Boolean, hints to a backend that it should log a textual representation
1300 of queries it performs. Can be set at runtime.
1301
1302 .. _setting-queue-limit:
1303
1304 ``queue-limit``
1305 ---------------
1306
1307 - Integer
1308 - Default: 1500
1309
1310 Maximum number of milliseconds to queue a query. See :doc:`performance`.
1311
1312 .. _setting-receiver-threads:
1313
1314 ``receiver-threads``
1315 --------------------
1316
1317 - Integer
1318 - Default: 1
1319
1320 Number of receiver (listening) threads to start. See :doc:`performance`.
1321
1322 .. _setting-recursive-cache-ttl:
1323
1324 ``recursive-cache-ttl``
1325 -----------------------
1326
1327 - Integer
1328 - Default: 10
1329
1330 .. deprecated:: 4.1.0
1331 Recursion has been removed, see :doc:`guides/recursion`
1332
1333 Seconds to store recursive packets in the :ref:`packet-cache`.
1334
1335 .. _setting-recursor:
1336
1337 ``recursor``
1338 ------------
1339
1340 - IP Address
1341
1342 .. deprecated:: 4.1.0
1343 Recursion has been removed, see :doc:`guides/recursion`
1344
1345 If set, recursive queries will be handed to the recursor specified here.
1346
1347 .. _setting-resolver:
1348
1349 ``resolver``
1350 ------------
1351
1352 - IP Addresses with optional port, separated by commas
1353
1354 .. versionadded:: 4.1.0
1355
1356 Use these resolver addresses for ALIAS and the internal stub resolver.
1357 If this is not set, ``/etc/resolv.conf`` is parsed for upstream
1358 resolvers.
1359
1360 .. _setting-retrieval-threads:
1361
1362 ``retrieval-threads``
1363 ---------------------
1364
1365 - Integer
1366 - Default: 2
1367
1368 Number of AXFR slave threads to start.
1369
1370 .. _setting-reuseport:
1371
1372 ``reuseport``
1373 -------------
1374
1375 - Boolean
1376 - Default: No
1377
1378 On Linux 3.9 and some BSD kernels the ``SO_REUSEPORT`` option allows
1379 each receiver-thread to open a new socket on the same port which allows
1380 for much higher performance on multi-core boxes. Setting this option
1381 will enable use of ``SO_REUSEPORT`` when available and seamlessly fall
1382 back to a single socket when it is not available. A side-effect is that
1383 you can start multiple servers on the same IP/port combination which may
1384 or may not be a good idea. You could use this to enable transparent
1385 restarts, but it may also mask configuration issues and for this reason
1386 it is disabled by default.
1387
1388 .. _setting-rng:
1389
1390 ``rng``
1391 -------
1392
1393 - String
1394 - Default: auto
1395
1396 Specify which random number generator to use. Permissible choises are:
1397
1398 - auto - choose automatically
1399 - sodium - Use libsodium ``randombytes_uniform``
1400 - openssl - Use libcrypto ``RAND_bytes``
1401 - getrandom - Use libc getrandom, falls back to urandom if it does not really work
1402 - arc4random - Use BSD ``arc4random_uniform``
1403 - urandom - Use ``/dev/urandom``
1404 - kiss - Use simple settable deterministic RNG. **FOR TESTING PURPOSES ONLY!**
1405
1406 .. note::
1407 Not all choises are available on all systems.
1408
1409 .. _setting-security-poll-suffix:
1410
1411 ``security-poll-suffix``
1412 ------------------------
1413
1414 - String
1415 - Default: secpoll.powerdns.com.
1416
1417 Domain name from which to query security update notifications. Setting
1418 this to an empty string disables secpoll.
1419
1420 .. _setting-send-signed-notify:
1421
1422 ``send-signed-notify``
1423 ----------------------
1424
1425 - Boolean
1426 - Default: yes
1427
1428 If yes, outgoing NOTIFYs will be signed if a TSIG key is configured for the zone.
1429 If there are multiple TSIG keys configured for a domain, PowerDNS will use the
1430 first one retrieved from the backend, which may not be the correct one for the
1431 respective slave. Hence, in setups with multiple slaves with different TSIG keys
1432 it may be required to send NOTIFYs unsigned.
1433
1434 .. _setting-server-id:
1435
1436 ``server-id``
1437 -------------
1438
1439 - String
1440 - Default: The hostname of the server
1441
1442 This is the server ID that will be returned on an EDNS NSID query.
1443
1444 .. _setting-setgid:
1445
1446 ``setgid``
1447 ----------
1448
1449 - String
1450
1451 If set, change group id to this gid for more security. See :doc:`security`.
1452
1453 .. _setting-setuid:
1454
1455 ``setuid``
1456 ----------
1457
1458 - String
1459
1460 If set, change user id to this uid for more security. See :doc:`security`.
1461
1462 .. _setting-signing-threads:
1463
1464 ``signing-threads``
1465 -------------------
1466
1467 - Integer
1468 - Default: 3
1469
1470 Tell PowerDNS how many threads to use for signing. It might help improve
1471 signing speed by changing this number.
1472
1473 .. _setting-slave:
1474
1475 ``slave``
1476 ---------
1477
1478 - Boolean
1479 - Default: no
1480
1481 Turn on slave support. See :ref:`slave-operation`.
1482
1483 .. _setting-slave-cycle-interval:
1484
1485 ``slave-cycle-interval``
1486 ------------------------
1487
1488 - Integer
1489 - Default: 60
1490
1491 On a master, this is the amount of seconds between the master checking
1492 the SOA serials in its database to determine to send out NOTIFYs to the
1493 slaves. On slaves, this is the number of seconds between the slave
1494 checking for updates to zones.
1495
1496 .. _setting-slave-renotify:
1497
1498 ``slave-renotify``
1499 ------------------
1500
1501 - Boolean
1502 - Default: no
1503
1504 This setting will make PowerDNS renotify the slaves after an AXFR is
1505 *received* from a master. This is useful when using when running a
1506 signing-slave.
1507
1508 See :ref:`metadata-slave-renotify` to set this per-zone.
1509
1510 .. _setting-soa-expire-default:
1511
1512 ``soa-expire-default``
1513 ----------------------
1514
1515 - Integer
1516 - Default: 604800
1517
1518 .. deprecated:: 4.2.0
1519 This setting has been deprecated and will be removed in 4.3.0
1520
1521 Default :ref:`types-soa` expire.
1522
1523 .. _setting-soa-minimum-ttl:
1524
1525 ``soa-minimum-ttl``
1526 -------------------
1527
1528 - Integer
1529 - Default: 3600
1530
1531 .. deprecated:: 4.2.0
1532 This setting has been deprecated and will be removed in 4.3.0
1533
1534 Default :ref:`types-soa` minimum ttl.
1535
1536 .. _setting-soa-refresh-default:
1537
1538 ``soa-refresh-default``
1539 -----------------------
1540
1541 - Integer
1542 - Default: 10800
1543
1544 .. deprecated:: 4.2.0
1545 This setting has been deprecated and will be removed in 4.3.0
1546
1547 Default :ref:`types-soa` refresh.
1548
1549 .. _setting-soa-retry-default:
1550
1551 ``soa-retry-default``
1552 ---------------------
1553
1554 - Integer
1555 - Default: 3600
1556
1557 .. deprecated:: 4.2.0
1558 This setting has been deprecated and will be removed in 4.3.0
1559
1560 Default :ref:`types-soa` retry.
1561
1562 .. _setting-socket-dir:
1563
1564 ``socket-dir``
1565 --------------
1566
1567 - Path
1568
1569 Where the controlsocket will live. The default depends on
1570 ``LOCALSTATEDIR`` during compile-time (usually ``/var/run`` or
1571 ``/run``). See :ref:`control-socket`.
1572
1573 This path will also contain the pidfile for this instance of PowerDNS
1574 called ``pdns.pid`` by default. See :ref:`setting-config-name`
1575 and :doc:`Virtual Hosting <guides/virtual-instances>` how this can differ.
1576
1577 .. _setting-superslave:
1578
1579 ``superslave``
1580 ---------------
1581
1582 - Boolean
1583 - Default: no
1584
1585 .. versionadded:: 4.1.9
1586 In versions before 4.1.9, this setting did not exist and supermaster support
1587 was enabled by default.
1588
1589 .. versionchanged:: 4.2.0
1590 Before 4.2.0, the default was yes.
1591
1592 Turn on supermaster support. See :ref:`supermaster-operation`.
1593
1594 .. _setting-tcp-control-address:
1595
1596 ``tcp-control-address``
1597 -----------------------
1598
1599 - IP Address
1600
1601 Address to bind to for TCP control.
1602
1603 .. _setting-tcp-control-port:
1604
1605 ``tcp-control-port``
1606 --------------------
1607
1608 - Integer
1609 - Default: 53000
1610
1611 Port to bind to for TCP control.
1612
1613 .. _setting-tcp-control-range:
1614
1615 ``tcp-control-range``
1616 ---------------------
1617
1618 - IP Ranges, separated by commas or whitespace
1619
1620 Limit TCP control to a specific client range.
1621
1622 .. _setting-tcp-control-secret:
1623
1624 ``tcp-control-secret``
1625 ----------------------
1626
1627 - String
1628
1629 Password for TCP control.
1630
1631 .. _setting-tcp-fast-open:
1632
1633 ``tcp-fast-open``
1634 -----------------
1635
1636 - Integer
1637 - Default: 0 (Disabled)
1638
1639 .. versionadded:: 4.1.0
1640
1641 Enable TCP Fast Open support, if available, on the listening sockets.
1642 The numerical value supplied is used as the queue size, 0 meaning
1643 disabled.
1644
1645 .. _setting-tcp-idle-timeout:
1646
1647 ``tcp-idle-timeout``
1648 --------------------
1649
1650 - Integer
1651 - Default: 5
1652
1653 Maximum time in seconds that a TCP DNS connection is allowed to stay
1654 open while being idle, meaning without PowerDNS receiving or sending
1655 even a single byte.
1656
1657 .. _setting-traceback-handler:
1658
1659 ``traceback-handler``
1660 ---------------------
1661
1662 - Boolean
1663 - Default: yes
1664
1665 Enable the Linux-only traceback handler.
1666
1667 .. _setting-trusted-notification-proxy:
1668
1669 ``trusted-notification-proxy``
1670 ------------------------------
1671
1672 - String
1673
1674 IP address of incoming notification proxy
1675
1676 .. _setting-udp-truncation-threshold:
1677
1678 ``udp-truncation-threshold``
1679 ----------------------------
1680 .. versionchanged:: 4.2.0
1681 Before 4.2.0, the default was 1680
1682
1683 - Integer
1684 - Default: 1232
1685
1686 EDNS0 allows for large UDP response datagrams, which can potentially
1687 raise performance. Large responses however also have downsides in terms
1688 of reflection attacks. Maximum value is 65535, but values above
1689 4096 should probably not be attempted.
1690
1691 .. note:: Why 1232?
1692
1693 1232 is the largest number of payload bytes that can fit in the smallest IPv6 packet.
1694 IPv6 has a minimum MTU of 1280 bytes (:rfc:`RFC 8200, section 5 <8200#section-5>`), minus 40 bytes for the IPv6 header, minus 8 bytes for the UDP header gives 1232, the maximum payload size for the DNS response.
1695
1696 .. _setting-version-string:
1697
1698 ``version-string``
1699 ------------------
1700
1701 - Any of: ``anonymous``, ``powerdns``, ``full``, String
1702 - Default: full
1703
1704 When queried for its version over DNS
1705 (``dig chaos txt version.bind @pdns.ip.address``), PowerDNS normally
1706 responds truthfully. With this setting you can overrule what will be
1707 returned. Set the ``version-string`` to ``full`` to get the default
1708 behaviour, to ``powerdns`` to just make it state
1709 ``Served by PowerDNS - https://www.powerdns.com/``. The ``anonymous``
1710 setting will return a ServFail, much like Microsoft nameservers do. You
1711 can set this response to a custom value as well.
1712
1713 .. _setting-webserver:
1714
1715 ``webserver``
1716 -------------
1717
1718 - Boolean
1719 - Default: no
1720
1721 Start a webserver for monitoring. See :doc:`performance`".
1722
1723 .. versionchanged:: 4.1.0
1724 It was necessary to enable the webserver to use the REST API, this is no longer the case.
1725
1726 .. _setting-webserver-address:
1727
1728 ``webserver-address``
1729 ---------------------
1730
1731 - IP Address
1732 - Default: 127.0.0.1
1733
1734 IP Address for webserver/API to listen on.
1735
1736 .. _setting-webserver-allow-from:
1737
1738 ``webserver-allow-from``
1739 ------------------------
1740
1741 - IP ranges, separated by commas or whitespace
1742 - Default: 127.0.0.1,::1
1743
1744 .. versionchanged:: 4.1.0
1745
1746 Default is now 127.0.0.1,::1, was 0.0.0.0/0,::/0 before.
1747
1748 Webserver/API access is only allowed from these subnets.
1749
1750 .. _setting-webserver-loglevel:
1751
1752 ``webserver-loglevel``
1753 ----------------------
1754 .. versionadded:: 4.2.0
1755
1756 - String, one of "none", "normal", "detailed"
1757
1758 The amount of logging the webserver must do. "none" means no useful webserver information will be logged.
1759 When set to "normal", the webserver will log a line per request that should be familiar::
1760
1761 [webserver] e235780e-a5cf-415e-9326-9d33383e739e 127.0.0.1:55376 "GET /api/v1/servers/localhost/bla HTTP/1.1" 404 196
1762
1763 When set to "detailed", all information about the request and response are logged::
1764
1765 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Request Details:
1766 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Headers:
1767 [webserver] e235780e-a5cf-415e-9326-9d33383e739e accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
1768 [webserver] e235780e-a5cf-415e-9326-9d33383e739e accept-encoding: gzip, deflate
1769 [webserver] e235780e-a5cf-415e-9326-9d33383e739e accept-language: en-US,en;q=0.5
1770 [webserver] e235780e-a5cf-415e-9326-9d33383e739e connection: keep-alive
1771 [webserver] e235780e-a5cf-415e-9326-9d33383e739e dnt: 1
1772 [webserver] e235780e-a5cf-415e-9326-9d33383e739e host: 127.0.0.1:8081
1773 [webserver] e235780e-a5cf-415e-9326-9d33383e739e upgrade-insecure-requests: 1
1774 [webserver] e235780e-a5cf-415e-9326-9d33383e739e user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0
1775 [webserver] e235780e-a5cf-415e-9326-9d33383e739e No body
1776 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Response details:
1777 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Headers:
1778 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Connection: close
1779 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Content-Length: 49
1780 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Content-Type: text/html; charset=utf-8
1781 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Server: PowerDNS/0.0.15896.0.gaba8bab3ab
1782 [webserver] e235780e-a5cf-415e-9326-9d33383e739e Full body:
1783 [webserver] e235780e-a5cf-415e-9326-9d33383e739e <!html><title>Not Found</title><h1>Not Found</h1>
1784 [webserver] e235780e-a5cf-415e-9326-9d33383e739e 127.0.0.1:55376 "GET /api/v1/servers/localhost/bla HTTP/1.1" 404 196
1785
1786 The value between the hooks is a UUID that is generated for each request. This can be used to find all lines related to a single request.
1787
1788 .. note::
1789 The webserver logs these line on the NOTICE level. The :ref:`setting-loglevel` seting must be 5 or higher for these lines to end up in the log.
1790
1791 .. _setting-webserver-max-bodysize:
1792
1793 ``webserver-max-bodysize``
1794 --------------------------
1795 .. versionadded:: 4.2.0
1796
1797 - Integer
1798 - Default: 2
1799
1800 Maximum request/response body size in megabytes.
1801
1802 .. _setting-webserver-password:
1803
1804 ``webserver-password``
1805 ----------------------
1806
1807 - String
1808
1809 The plaintext password required for accessing the webserver.
1810
1811 .. _setting-webserver-port:
1812
1813 ``webserver-port``
1814 ------------------
1815
1816 - Integer
1817 - Default: 8081
1818
1819 The port where webserver/API will listen on.
1820
1821 .. _setting-webserver-print-arguments:
1822
1823 ``webserver-print-arguments``
1824 -----------------------------
1825
1826 - Boolean
1827 - Default: no
1828
1829 If the webserver should print arguments.
1830
1831 .. _setting-write-pid:
1832
1833 ``write-pid``
1834 -------------
1835
1836 - Boolean
1837 - Default: yes
1838
1839 If a PID file should be written.
1840
1841 .. _setting-xfr-max-received-mbytes:
1842
1843 ``xfr-max-received-mbytes``
1844 ---------------------------
1845
1846 - Integer
1847 - Default: 100
1848
1849 Specifies the maximum number of received megabytes allowed on an
1850 incoming AXFR/IXFR update, to prevent resource exhaustion. A value of 0
1851 means no restriction.