Closed thomasmerz closed 1 year ago
To understand how lighttpd
is reading all config files, execute:
lighttpd -p -f /etc/lighttpd/lighttpd.conf
This command will parse all config files and output the result. Please post the result here.
@rdwebdesign , here we go:
root@pihole-hel1-dc2:/# lighttpd -p -f /etc/lighttpd/lighttpd.conf config { var.PID = 34779 var.CWD = "/" mimetype.assign = ( ".1905.1" => "application/vnd.ieee.1905", ".pcf.Z" => "application/x-font-pcf", ".tar.bz2" => "application/x-gtar-compressed", ".tar.gz" => "application/x-gtar-compressed", ".a2l" => "application/A2L", # 5 ".aml" => "application/AML", ".atf" => "application/ATF", ".atfx" => "application/ATFX", ".atxml" => "application/ATXML", ".cdfx" => "application/CDFX+XML", # 10 ".cea" => "application/CEA", ".dcd" => "application/DCD", ".dii" => "application/DII", ".dit" => "application/DIT", ".lxf" => "application/LXF", # 15 ".mf4" => "application/MF4", ".odx" => "application/ODX", ".pdx" => "application/PDX", ".ez" => "application/andrew-inset", ".anx" => "application/annodex", # 20 ".atom" => "application/atom+xml", ".atomcat" => "application/atomcat+xml", ".atomdeleted" => "application/atomdeleted+xml", ".atomsrv" => "application/atomserv+xml", ".atomsvc" => "application/atomsvc+xml", # 25 ".dwd" => "application/atsc-dwd+xml", ".held" => "application/atsc-held+xml", ".rsat" => "application/atsc-rsat+xml", ".apxml" => "application/auth-policy+xml", ".xdd" => "application/bacnet-xdd+zip", # 30 ".lin" => "application/bbolin", ".xcs" => "application/calendar+xml", ".cbor" => "application/cbor", ".c3ex" => "application/cccex", ".ccmp" => "application/ccmp+xml", # 35 ".ccxml" => "application/ccxml+xml", ".cdmia" => "application/cdmi-capability", ".cdmic" => "application/cdmi-container", ".cdmid" => "application/cdmi-domain", ".cdmio" => "application/cdmi-object", # 40 ".cdmiq" => "application/cdmi-queue", ".cellml" => "application/cellml+xml", ".cml" => "application/cellml+xml", ".cmsc" => "application/cms", ".cpl" => "application/cpl+xml", # 45 ".csrattrs" => "application/csrattrs", ".cu" => "application/cu-seeme", ".mpd" => "application/dash+xml", ".mpdd" => "application/dashdelta", ".davmount" => "application/davmount+xml", # 50 ".dcm" => "application/dicom", ".xmls" => "application/dskpp+xml", ".tsp" => "application/dsptype", ".dssc" => "application/dssc+der", ".xdssc" => "application/dssc+xml", # 55 ".dvc" => "application/dvcs", ".es" => "application/ecmascript", ".efi" => "application/efi", ".emma" => "application/emma+xml", ".emotionml" => "application/emotionml+xml", # 60 ".epub" => "application/epub+zip", ".exi" => "application/exi", ".finf" => "application/fastinfoset", ".fdt" => "application/fdt+xml", ".pfr" => "application/font-tdpfr", # 65 ".spl" => "application/futuresplash", ".geojson" => "application/geo+json", ".gpkg" => "application/geopackage+sqlite3", ".glbin" => "application/gltf-buffer", ".glbuf" => "application/gltf-buffer", # 70 ".gml" => "application/gml+xml", ".gz" => "application/gzip", ".hta" => "application/hta", ".stk" => "application/hyperstudio", ".ink" => "application/inkml+xml", # 75 ".inkml" => "application/inkml+xml", ".ipfix" => "application/ipfix", ".its" => "application/its+xml", ".jar" => "application/java-archive", ".ser" => "application/java-serialized-object", # 80 ".class" => "application/java-vm", ".js" => "application/javascript", ".mjs" => "application/javascript", ".jrd" => "application/jrd+json", ".json" => "application/json", # 85 ".json-patch" => "application/json-patch+json", ".jsonld" => "application/ld+json", ".lgr" => "application/lgr+xml", ".wlnk" => "application/link-format", ".lostxml" => "application/lost+xml", # 90 ".lostsyncxml" => "application/lostsync+xml", ".lpf" => "application/lpf+zip", ".m3g" => "application/m3g", ".hqx" => "application/mac-binhex40", ".cpt" => "application/mac-compactpro", # 95 ".mads" => "application/mads+xml", ".mrc" => "application/marc", ".mrcx" => "application/marcxml+xml", ".ma" => "application/mathematica", ".mb" => "application/mathematica", # 100 ".mml" => "application/mathml+xml", ".mbox" => "application/mbox", ".meta4" => "application/metalink4+xml", ".mets" => "application/mets+xml", ".maei" => "application/mmt-aei+xml", # 105 ".musd" => "application/mmt-usd+xml", ".mods" => "application/mods+xml", ".m21" => "application/mp21", ".mp21" => "application/mp21", ".mdb" => "application/msaccess", # 110 ".doc" => "application/msword", ".mxf" => "application/mxf", ".nq" => "application/n-quads", ".nt" => "application/n-triples", ".orq" => "application/ocsp-request", # 115 ".ors" => "application/ocsp-response", ".asn" => "application/octet-stream", ".bin" => "application/octet-stream", ".deploy" => "application/octet-stream", ".msp" => "application/octet-stream", # 120 ".msu" => "application/octet-stream", ".oda" => "application/oda", ".opf" => "application/oebps-package+xml", ".ogx" => "application/ogg", ".one" => "application/onenote", # 125 ".onepkg" => "application/onenote", ".onetmp" => "application/onenote", ".onetoc2" => "application/onenote", ".oxps" => "application/oxps", ".relo" => "application/p2p-overlay+xml", # 130 ".pdf" => "application/pdf", ".pem" => "application/pem-certificate-chain", ".pgp" => "application/pgp-encrypted", ".asc" => "application/pgp-keys", ".key" => "application/pgp-keys", # 135 ".sig" => "application/pgp-signature", ".prf" => "application/pics-rules", ".p10" => "application/pkcs10", ".p12" => "application/pkcs12", ".pfx" => "application/pkcs12", # 140 ".p7c" => "application/pkcs7-mime", ".p7m" => "application/pkcs7-mime", ".p7z" => "application/pkcs7-mime", ".p7s" => "application/pkcs7-signature", ".p8" => "application/pkcs8", # 145 ".p8e" => "application/pkcs8-encrypted", ".ac" => "application/pkix-attr-cert", ".cer" => "application/pkix-cert", ".crl" => "application/pkix-crl", ".pkipath" => "application/pkix-pkipath", # 150 ".pki" => "application/pkixcmp", ".ai" => "application/postscript", ".eps" => "application/postscript", ".eps2" => "application/postscript", ".eps3" => "application/postscript", # 155 ".epsf" => "application/postscript", ".epsi" => "application/postscript", ".ps" => "application/postscript", ".provx" => "application/provenance+xml", ".cw" => "application/prs.cww", # 160 ".cww" => "application/prs.cww", ".hpub" => "application/prs.hpub+zip", ".rct" => "application/prs.nprend", ".rnd" => "application/prs.nprend", ".rdf-crypt" => "application/prs.rdf-xml-crypt", # 165 ".xsf" => "application/prs.xsf+xml", ".pskcxml" => "application/pskc+xml", ".rdf" => "application/rdf+xml", ".rif" => "application/reginfo+xml", ".rnc" => "application/relax-ng-compact-syntax", # 170 ".rl" => "application/resource-lists+xml", ".rld" => "application/resource-lists-diff+xml", ".rfcxml" => "application/rfc+xml", ".rs" => "application/rls-services+xml", ".rapd" => "application/route-apd+xml", # 175 ".sls" => "application/route-s-tsid+xml", ".rusd" => "application/route-usd+xml", ".gbr" => "application/rpki-ghostbusters", ".mft" => "application/rpki-manifest", ".roa" => "application/rpki-roa", # 180 ".rtf" => "application/rtf", ".scim" => "application/scim+json", ".scq" => "application/scvp-cv-request", ".scs" => "application/scvp-cv-response", ".spq" => "application/scvp-vp-request", # 185 ".spp" => "application/scvp-vp-response", ".sdp" => "application/sdp", ".senmlc" => "application/senml+cbor", ".senml" => "application/senml+json", ".senmlx" => "application/senml+xml", # 190 ".senml-etchc" => "application/senml-etch+cbor", ".senml-etchj" => "application/senml-etch+json", ".senmle" => "application/senml-exi", ".sensmlc" => "application/sensml+cbor", ".sensml" => "application/sensml+json", # 195 ".sensmlx" => "application/sensml+xml", ".sensmle" => "application/sensml-exi", ".soc" => "application/sgml-open-catalog", ".shf" => "application/shf+xml", ".sieve" => "application/sieve", # 200 ".siv" => "application/sieve", ".cl" => "application/simple-filter+xml", ".smi" => "application/smil+xml", ".smil" => "application/smil+xml", ".sml" => "application/smil+xml", # 205 ".rq" => "application/sparql-query", ".srx" => "application/sparql-results+xml", ".sql" => "application/sql", ".gram" => "application/srgs", ".grxml" => "application/srgs+xml", # 210 ".sru" => "application/sru+xml", ".ssml" => "application/ssml+xml", ".stix" => "application/stix+json", ".swidtag" => "application/swid+xml", ".tau" => "application/tamp-apex-update", # 215 ".auc" => "application/tamp-apex-update-confirm", ".tcu" => "application/tamp-community-update", ".cuc" => "application/tamp-community-update-confirm", ".ter" => "application/tamp-error", ".tsa" => "application/tamp-sequence-adjust", # 220 ".sac" => "application/tamp-sequence-adjust-confirm", ".tur" => "application/tamp-update", ".tuc" => "application/tamp-update-confirm", ".jsontd" => "application/td+json", ".odd" => "application/tei+xml", # 225 ".tei" => "application/tei+xml", ".teiCorpus" => "application/tei+xml", ".tfi" => "application/thraud+xml", ".tsq" => "application/timestamp-query", ".tsr" => "application/timestamp-reply", # 230 ".tsd" => "application/timestamped-data", ".trig" => "application/trig", ".ttml" => "application/ttml+xml", ".gsheet" => "application/urc-grpsheet+xml", ".rsheet" => "application/urc-ressheet+xml", # 235 ".td" => "application/urc-targetdesc+xml", ".uis" => "application/urc-uisocketdesc+xml", ".vxml" => "application/voicexml+xml", ".vcj" => "application/voucher-cms+json", ".wasm" => "application/wasm", # 240 ".wif" => "application/watcherinfo+xml", ".wgt" => "application/widget", ".wsdl" => "application/wsdl+xml", ".wspolicy" => "application/wspolicy+xml", ".xav" => "application/xcap-att+xml", # 245 ".xca" => "application/xcap-caps+xml", ".xdf" => "application/xcap-diff+xml", ".xel" => "application/xcap-el+xml", ".xer" => "application/xcap-error+xml", ".xns" => "application/xcap-ns+xml", # 250 ".xht" => "application/xhtml+xml", ".xhtm" => "application/xhtml+xml", ".xhtml" => "application/xhtml+xml", ".xlf" => "application/xliff+xml", ".xml" => "application/xml", # 255 ".dtd" => "application/xml-dtd", ".mod" => "application/xml-dtd", ".ent" => "application/xml-external-parsed-entity", ".xop" => "application/xop+xml", ".xsl" => "application/xslt+xml", # 260 ".xslt" => "application/xslt+xml", ".xspf" => "application/xspf+xml", ".mxml" => "application/xv+xml", ".xhvml" => "application/xv+xml", ".xvm" => "application/xv+xml", # 265 ".xvml" => "application/xv+xml", ".yang" => "application/yang", ".yin" => "application/yin+xml", ".zip" => "application/zip", ".zst" => "application/zstd", # 270 ".1km" => "application/vnd.1000minds.decision-model+xml", ".pwn" => "application/vnd.3M.Post-it-Notes", ".plb" => "application/vnd.3gpp.pic-bw-large", ".psb" => "application/vnd.3gpp.pic-bw-small", ".pvb" => "application/vnd.3gpp.pic-bw-var", # 275 ".sms" => "application/vnd.3gpp2.sms", ".tcap" => "application/vnd.3gpp2.tcap", ".imgcal" => "application/vnd.3lightssoftware.imagescal", ".gph" => "application/vnd.FloGraphIt", ".zmm" => "application/vnd.HandHeld-Entertainment+xml", # 280 ".kne" => "application/vnd.Kinar", ".knp" => "application/vnd.Kinar", ".sdf" => "application/vnd.Kinar", ".mwf" => "application/vnd.MFER", ".daf" => "application/vnd.Mobius.DAF", # 285 ".dis" => "application/vnd.Mobius.DIS", ".mbk" => "application/vnd.Mobius.MBK", ".mqy" => "application/vnd.Mobius.MQY", ".msl" => "application/vnd.Mobius.MSL", ".plc" => "application/vnd.Mobius.PLC", # 290 ".txf" => "application/vnd.Mobius.TXF", ".qwd" => "application/vnd.Quark.QuarkXPress", ".qwt" => "application/vnd.Quark.QuarkXPress", ".qxb" => "application/vnd.Quark.QuarkXPress", ".qxd" => "application/vnd.Quark.QuarkXPress", # 295 ".qxl" => "application/vnd.Quark.QuarkXPress", ".qxt" => "application/vnd.Quark.QuarkXPress", ".twd" => "application/vnd.SimTech-MindMapper", ".twds" => "application/vnd.SimTech-MindMapper", ".aso" => "application/vnd.accpac.simply.aso", # 300 ".imp" => "application/vnd.accpac.simply.imp", ".acu" => "application/vnd.acucobol", ".acutc" => "application/vnd.acucorp", ".atc" => "application/vnd.acucorp", ".swf" => "application/vnd.adobe.flash.movie", # 305 ".fcdt" => "application/vnd.adobe.formscentral.fcdt", ".fxp" => "application/vnd.adobe.fxp", ".fxpl" => "application/vnd.adobe.fxp", ".xdp" => "application/vnd.adobe.xdp+xml", ".xfdf" => "application/vnd.adobe.xfdf", # 310 ".afp" => "application/vnd.afpc.modca", ".list3820" => "application/vnd.afpc.modca", ".listafp" => "application/vnd.afpc.modca", ".pseg3820" => "application/vnd.afpc.modca", ".ovl" => "application/vnd.afpc.modca-overlay", # 315 ".psg" => "application/vnd.afpc.modca-pagesegment", ".ahead" => "application/vnd.ahead.space", ".azf" => "application/vnd.airzip.filesecure.azf", ".azs" => "application/vnd.airzip.filesecure.azs", ".azw3" => "application/vnd.amazon.mobi8-ebook", # 320 ".acc" => "application/vnd.americandynamics.acc", ".ami" => "application/vnd.amiga.ami", ".ota" => "application/vnd.android.ota", ".apk" => "application/vnd.android.package-archive", ".apkg" => "application/vnd.anki", # 325 ".cii" => "application/vnd.anser-web-certificate-issue-initiation", ".fti" => "application/vnd.anser-web-funds-transfer-initiation", ".dist" => "application/vnd.apple.installer+xml", ".distz" => "application/vnd.apple.installer+xml", ".mpkg" => "application/vnd.apple.installer+xml", # 330 ".pkg" => "application/vnd.apple.installer+xml", ".keynote" => "application/vnd.apple.keynote", ".m3u8" => "application/vnd.apple.mpegurl", ".numbers" => "application/vnd.apple.numbers", ".pages" => "application/vnd.apple.pages", # 335 ".swi" => "application/vnd.aristanetworks.swi", ".artisan" => "application/vnd.artisan+json", ".iota" => "application/vnd.astraea-software.iota", ".aep" => "application/vnd.audiograph", ".package" => "application/vnd.autopackage", # 340 ".bmml" => "application/vnd.balsamiq.bmml+xml", ".bmpr" => "application/vnd.balsamiq.bmpr", ".ac2" => "application/vnd.banana-accounting", ".mpm" => "application/vnd.blueice.multipass", ".ep" => "application/vnd.bluetooth.ep.oob", # 345 ".le" => "application/vnd.bluetooth.le.oob", ".bmi" => "application/vnd.bmi", ".rep" => "application/vnd.businessobjects", ".tlclient" => "application/vnd.cendio.thinlinc.clientconf", ".cdxml" => "application/vnd.chemdraw+xml", # 350 ".pgn" => "application/vnd.chess-pgn", ".mmd" => "application/vnd.chipnuts.karaoke-mmd", ".cdy" => "application/vnd.cinderella", ".csl" => "application/vnd.citationstyles.style+xml", ".cla" => "application/vnd.claymore", # 355 ".rp9" => "application/vnd.cloanto.rp9", ".c4d" => "application/vnd.clonk.c4group", ".c4f" => "application/vnd.clonk.c4group", ".c4g" => "application/vnd.clonk.c4group", ".c4p" => "application/vnd.clonk.c4group", # 360 ".c4u" => "application/vnd.clonk.c4group", ".c11amc" => "application/vnd.cluetrust.cartomobile-config", ".c11amz" => "application/vnd.cluetrust.cartomobile-config-pkg", ".coffee" => "application/vnd.coffeescript", ".xodt" => "application/vnd.collabio.xodocuments.document", # 365 ".xott" => "application/vnd.collabio.xodocuments.document-template", ".xodp" => "application/vnd.collabio.xodocuments.presentation", ".xotp" => "application/vnd.collabio.xodocuments.presentation-template", ".xods" => "application/vnd.collabio.xodocuments.spreadsheet", ".xots" => "application/vnd.collabio.xodocuments.spreadsheet-template", # 370 ".cbz" => "application/vnd.comicbook+zip", ".cbr" => "application/vnd.comicbook-rar", ".ic0" => "application/vnd.commerce-battelle", ".ic1" => "application/vnd.commerce-battelle", ".ic2" => "application/vnd.commerce-battelle", # 375 ".ic3" => "application/vnd.commerce-battelle", ".ic4" => "application/vnd.commerce-battelle", ".ic5" => "application/vnd.commerce-battelle", ".ic6" => "application/vnd.commerce-battelle", ".ic7" => "application/vnd.commerce-battelle", # 380 ".ic8" => "application/vnd.commerce-battelle", ".icd" => "application/vnd.commerce-battelle", ".icf" => "application/vnd.commerce-battelle", ".csp" => "application/vnd.commonspace", ".cst" => "application/vnd.commonspace", # 385 ".cdbcmsg" => "application/vnd.contact.cmsg", ".ign" => "application/vnd.coreos.ignition+json", ".ignition" => "application/vnd.coreos.ignition+json", ".cmc" => "application/vnd.cosmocaller", ".clkx" => "application/vnd.crick.clicker", # 390 ".clkk" => "application/vnd.crick.clicker.keyboard", ".clkp" => "application/vnd.crick.clicker.palette", ".clkt" => "application/vnd.crick.clicker.template", ".clkw" => "application/vnd.crick.clicker.wordbank", ".wbs" => "application/vnd.criticaltools.wbs+xml", # 395 ".ssvc" => "application/vnd.crypto-shade-file", ".pml" => "application/vnd.ctc-posml", ".ppd" => "application/vnd.cups-ppd", ".dart" => "application/vnd.dart", ".rdz" => "application/vnd.data-vision.rdz", # 400 ".dbf" => "application/vnd.dbf", ".ddeb" => "application/vnd.debian.binary-package", ".deb" => "application/vnd.debian.binary-package", ".udeb" => "application/vnd.debian.binary-package", ".uvd" => "application/vnd.dece.data", # 405 ".uvf" => "application/vnd.dece.data", ".uvvd" => "application/vnd.dece.data", ".uvvf" => "application/vnd.dece.data", ".uvt" => "application/vnd.dece.ttml+xml", ".uvvt" => "application/vnd.dece.ttml+xml", # 410 ".uvvx" => "application/vnd.dece.unspecified", ".uvx" => "application/vnd.dece.unspecified", ".uvvz" => "application/vnd.dece.zip", ".uvz" => "application/vnd.dece.zip", ".dsm" => "application/vnd.desmume.movie", # 415 ".dna" => "application/vnd.dna", ".docjson" => "application/vnd.document+json", ".scld" => "application/vnd.doremir.scorecloud-binary-document", ".dpg" => "application/vnd.dpgraph", ".dpgraph" => "application/vnd.dpgraph", # 420 ".mwc" => "application/vnd.dpgraph", ".dfac" => "application/vnd.dreamfactory", ".fla" => "application/vnd.dtg.local.flash", ".ait" => "application/vnd.dvb.ait", ".svc" => "application/vnd.dvb.service", # 425 ".geo" => "application/vnd.dynageo", ".dzr" => "application/vnd.dzr", ".mag" => "application/vnd.ecowin.chart", ".nml" => "application/vnd.enliven", ".esf" => "application/vnd.epson.esf", # 430 ".msf" => "application/vnd.epson.msf", ".qam" => "application/vnd.epson.quickanime", ".slt" => "application/vnd.epson.salt", ".ssf" => "application/vnd.epson.ssf", ".qca" => "application/vnd.ericsson.quickcall", # 435 ".qcall" => "application/vnd.ericsson.quickcall", ".espass" => "application/vnd.espass-espass+zip", ".es3" => "application/vnd.eszigno3+xml", ".et3" => "application/vnd.eszigno3+xml", ".asice" => "application/vnd.etsi.asic-e+zip", # 440 ".sce" => "application/vnd.etsi.asic-e+zip", ".asics" => "application/vnd.etsi.asic-s+zip", ".tst" => "application/vnd.etsi.timestamp-token", ".ecigprofile" => "application/vnd.evolv.ecig.profile", ".ecig" => "application/vnd.evolv.ecig.settings", # 445 ".ecigtheme" => "application/vnd.evolv.ecig.theme", ".mpw" => "application/vnd.exstream-empower+zip", ".pub" => "application/vnd.exstream-package", ".ez2" => "application/vnd.ezpix-album", ".ez3" => "application/vnd.ezpix-package", # 450 ".dim" => "application/vnd.fastcopy-disk-image", ".fdf" => "application/vnd.fdf", ".msd" => "application/vnd.fdsn.mseed", ".mseed" => "application/vnd.fdsn.mseed", ".dataless" => "application/vnd.fdsn.seed", # 455 ".seed" => "application/vnd.fdsn.seed", ".flb" => "application/vnd.ficlab.flb+zip", ".zfc" => "application/vnd.filmit.zfc", ".ftc" => "application/vnd.fluxtime.clip", ".sfd" => "application/vnd.font-fontforge-sfd", # 460 ".fm" => "application/vnd.framemaker", ".fsc" => "application/vnd.fsc.weblaunch", ".oas" => "application/vnd.fujitsu.oasys", ".oa2" => "application/vnd.fujitsu.oasys2", ".oa3" => "application/vnd.fujitsu.oasys3", # 465 ".fg5" => "application/vnd.fujitsu.oasysgp", ".bh2" => "application/vnd.fujitsu.oasysprs", ".ddd" => "application/vnd.fujixerox.ddd", ".xdw" => "application/vnd.fujixerox.docuworks", ".xbd" => "application/vnd.fujixerox.docuworks.binder", # 470 ".xct" => "application/vnd.fujixerox.docuworks.container", ".fzs" => "application/vnd.fuzzysheet", ".txd" => "application/vnd.genomatix.tuxedo", ".ggb" => "application/vnd.geogebra.file", ".ggt" => "application/vnd.geogebra.tool", # 475 ".gex" => "application/vnd.geometry-explorer", ".gre" => "application/vnd.geometry-explorer", ".gxt" => "application/vnd.geonext", ".g2w" => "application/vnd.geoplan", ".g3w" => "application/vnd.geospace", # 480 ".kml" => "application/vnd.google-earth.kml+xml", ".kmz" => "application/vnd.google-earth.kmz", ".gqf" => "application/vnd.grafeq", ".gqs" => "application/vnd.grafeq", ".gac" => "application/vnd.groove-account", # 485 ".ghf" => "application/vnd.groove-help", ".gim" => "application/vnd.groove-identity-message", ".grv" => "application/vnd.groove-injector", ".gtm" => "application/vnd.groove-tool-message", ".tpl" => "application/vnd.groove-tool-template", # 490 ".vcg" => "application/vnd.groove-vcard", ".hal" => "application/vnd.hal+xml", ".bpd" => "application/vnd.hbci", ".hbc" => "application/vnd.hbci", ".hbci" => "application/vnd.hbci", # 495 ".kom" => "application/vnd.hbci", ".pkd" => "application/vnd.hbci", ".upa" => "application/vnd.hbci", ".hdt" => "application/vnd.hdt", ".les" => "application/vnd.hhe.lesson-player", # 500 ".hpgl" => "application/vnd.hp-HPGL", ".pcl" => "application/vnd.hp-PCL", ".hpi" => "application/vnd.hp-hpid", ".hpid" => "application/vnd.hp-hpid", ".hps" => "application/vnd.hp-hps", # 505 ".jlt" => "application/vnd.hp-jlyt", ".sfd-hdstx" => "application/vnd.hydrostatix.sof-data", ".mpy" => "application/vnd.ibm.MiniPay", ".emm" => "application/vnd.ibm.electronic-media", ".irm" => "application/vnd.ibm.rights-management", # 510 ".sc" => "application/vnd.ibm.secure-container", ".icc" => "application/vnd.iccprofile", ".icm" => "application/vnd.iccprofile", ".igl" => "application/vnd.igloader", ".imf" => "application/vnd.imagemeter.folder+zip", # 515 ".imi" => "application/vnd.imagemeter.image+zip", ".ivp" => "application/vnd.immervision-ivp", ".ivu" => "application/vnd.immervision-ivu", ".imscc" => "application/vnd.ims.imsccv1p1", ".igm" => "application/vnd.insors.igm", # 520 ".xpw" => "application/vnd.intercon.formnet", ".xpx" => "application/vnd.intercon.formnet", ".i2g" => "application/vnd.intergeo", ".qbo" => "application/vnd.intu.qbo", ".qfx" => "application/vnd.intu.qfx", # 525 ".rcprofile" => "application/vnd.ipunplugged.rcprofile", ".irp" => "application/vnd.irepository.package+xml", ".xpr" => "application/vnd.is-xpr", ".fcs" => "application/vnd.isac.fcs", ".jam" => "application/vnd.jam", # 530 ".rms" => "application/vnd.jcp.javame.midlet-rms", ".jisp" => "application/vnd.jisp", ".joda" => "application/vnd.joost.joda-archive", ".ktr" => "application/vnd.kahootz", ".ktz" => "application/vnd.kahootz", # 535 ".karbon" => "application/vnd.kde.karbon", ".chrt" => "application/vnd.kde.kchart", ".kfo" => "application/vnd.kde.kformula", ".flw" => "application/vnd.kde.kivio", ".kon" => "application/vnd.kde.kontour", # 540 ".kpr" => "application/vnd.kde.kpresenter", ".kpt" => "application/vnd.kde.kpresenter", ".ksp" => "application/vnd.kde.kspread", ".kwd" => "application/vnd.kde.kword", ".kwt" => "application/vnd.kde.kword", # 545 ".htke" => "application/vnd.kenameaapp", ".kia" => "application/vnd.kidspiration", ".skd" => "application/vnd.koan", ".skm" => "application/vnd.koan", ".skp" => "application/vnd.koan", # 550 ".skt" => "application/vnd.koan", ".sse" => "application/vnd.kodak-descriptor", ".lasjson" => "application/vnd.las.las+json", ".lasxml" => "application/vnd.las.las+xml", ".lbd" => "application/vnd.llamagraphics.life-balance.desktop", # 555 ".lbe" => "application/vnd.llamagraphics.life-balance.exchange+xml", ".lca" => "application/vnd.logipipe.circuit+zip", ".lcs" => "application/vnd.logipipe.circuit+zip", ".loom" => "application/vnd.loom", ".123" => "application/vnd.lotus-1-2-3", # 560 ".wk1" => "application/vnd.lotus-1-2-3", ".wk3" => "application/vnd.lotus-1-2-3", ".wk4" => "application/vnd.lotus-1-2-3", ".apr" => "application/vnd.lotus-approach", ".vew" => "application/vnd.lotus-approach", # 565 ".pre" => "application/vnd.lotus-freelance", ".prz" => "application/vnd.lotus-freelance", ".ndl" => "application/vnd.lotus-notes", ".ns2" => "application/vnd.lotus-notes", ".ns3" => "application/vnd.lotus-notes", # 570 ".ns4" => "application/vnd.lotus-notes", ".nsf" => "application/vnd.lotus-notes", ".nsg" => "application/vnd.lotus-notes", ".nsh" => "application/vnd.lotus-notes", ".ntf" => "application/vnd.lotus-notes", # 575 ".or2" => "application/vnd.lotus-organizer", ".or3" => "application/vnd.lotus-organizer", ".org" => "application/vnd.lotus-organizer", ".scm" => "application/vnd.lotus-screencam", ".lwp" => "application/vnd.lotus-wordpro", # 580 ".sam" => "application/vnd.lotus-wordpro", ".portpkg" => "application/vnd.macports.portpkg", ".mvt" => "application/vnd.mapbox-vector-tile", ".mdc" => "application/vnd.marlin.drm.mdcf", ".mmdb" => "application/vnd.maxmind.maxmind-db", # 585 ".mcd" => "application/vnd.mcd", ".mc1" => "application/vnd.medcalcdata", ".cdkey" => "application/vnd.mediastation.cdkey", ".mfm" => "application/vnd.mfmp", ".flo" => "application/vnd.micrografx.flo", # 590 ".igx" => "application/vnd.micrografx.igx", ".mif" => "application/vnd.mif", ".mpn" => "application/vnd.mophun.application", ".mpc" => "application/vnd.mophun.certificate", ".xul" => "application/vnd.mozilla.xul+xml", # 595 ".3mf" => "application/vnd.ms-3mfdocument", ".cil" => "application/vnd.ms-artgalry", ".asf" => "application/vnd.ms-asf", ".cab" => "application/vnd.ms-cab-compressed", ".xla" => "application/vnd.ms-excel", # 600 ".xlc" => "application/vnd.ms-excel", ".xlm" => "application/vnd.ms-excel", ".xls" => "application/vnd.ms-excel", ".xlt" => "application/vnd.ms-excel", ".xlw" => "application/vnd.ms-excel", # 605 ".xlam" => "application/vnd.ms-excel.addin.macroEnabled.12", ".xlsb" => "application/vnd.ms-excel.sheet.binary.macroEnabled.12", ".xlsm" => "application/vnd.ms-excel.sheet.macroEnabled.12", ".xltm" => "application/vnd.ms-excel.template.macroEnabled.12", ".eot" => "application/vnd.ms-fontobject", # 610 ".chm" => "application/vnd.ms-htmlhelp", ".ims" => "application/vnd.ms-ims", ".lrm" => "application/vnd.ms-lrm", ".thmx" => "application/vnd.ms-officetheme", ".cat" => "application/vnd.ms-pki.seccat", # 615 ".pps" => "application/vnd.ms-powerpoint", ".ppt" => "application/vnd.ms-powerpoint", ".ppam" => "application/vnd.ms-powerpoint.addin.macroEnabled.12", ".pptm" => "application/vnd.ms-powerpoint.presentation.macroEnabled.12", ".sldm" => "application/vnd.ms-powerpoint.slide.macroEnabled.12", # 620 ".ppsm" => "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", ".potm" => "application/vnd.ms-powerpoint.template.macroEnabled.12", ".mpp" => "application/vnd.ms-project", ".mpt" => "application/vnd.ms-project", ".tnef" => "application/vnd.ms-tnef", # 625 ".tnf" => "application/vnd.ms-tnef", ".docm" => "application/vnd.ms-word.document.macroEnabled.12", ".dotm" => "application/vnd.ms-word.template.macroEnabled.12", ".wcm" => "application/vnd.ms-works", ".wdb" => "application/vnd.ms-works", # 630 ".wks" => "application/vnd.ms-works", ".wps" => "application/vnd.ms-works", ".wpl" => "application/vnd.ms-wpl", ".xps" => "application/vnd.ms-xpsdocument", ".msa" => "application/vnd.msa-disk-image", # 635 ".mseq" => "application/vnd.mseq", ".crtr" => "application/vnd.multiad.creator", ".cif" => "application/vnd.multiad.creator.cif", ".mus" => "application/vnd.musician", ".msty" => "application/vnd.muvee.style", # 640 ".taglet" => "application/vnd.mynfc", ".bkm" => "application/vnd.nervana", ".entity" => "application/vnd.nervana", ".kcm" => "application/vnd.nervana", ".request" => "application/vnd.nervana", # 645 ".nlu" => "application/vnd.neurolanguage.nlu", ".nimn" => "application/vnd.nimn", ".nds" => "application/vnd.nintendo.nitro.rom", ".sfc" => "application/vnd.nintendo.snes.rom", ".smc" => "application/vnd.nintendo.snes.rom", # 650 ".nitf" => "application/vnd.nitf", ".nnd" => "application/vnd.noblenet-directory", ".nns" => "application/vnd.noblenet-sealer", ".nnw" => "application/vnd.noblenet-web", ".ngdat" => "application/vnd.nokia.n-gage.data", # 655 ".rpst" => "application/vnd.nokia.radio-preset", ".rpss" => "application/vnd.nokia.radio-presets", ".edm" => "application/vnd.novadigm.EDM", ".edx" => "application/vnd.novadigm.EDX", ".ext" => "application/vnd.novadigm.EXT", # 660 ".odc" => "application/vnd.oasis.opendocument.chart", ".otc" => "application/vnd.oasis.opendocument.chart-template", ".odb" => "application/vnd.oasis.opendocument.database", ".odf" => "application/vnd.oasis.opendocument.formula", ".odg" => "application/vnd.oasis.opendocument.graphics", # 665 ".otg" => "application/vnd.oasis.opendocument.graphics-template", ".odi" => "application/vnd.oasis.opendocument.image", ".oti" => "application/vnd.oasis.opendocument.image-template", ".odp" => "application/vnd.oasis.opendocument.presentation", ".otp" => "application/vnd.oasis.opendocument.presentation-template", # 670 ".ods" => "application/vnd.oasis.opendocument.spreadsheet", ".ots" => "application/vnd.oasis.opendocument.spreadsheet-template", ".odt" => "application/vnd.oasis.opendocument.text", ".odm" => "application/vnd.oasis.opendocument.text-master", ".ott" => "application/vnd.oasis.opendocument.text-template", # 675 ".oth" => "application/vnd.oasis.opendocument.text-web", ".xo" => "application/vnd.olpc-sugar", ".dd2" => "application/vnd.oma.dd2+xml", ".tam" => "application/vnd.onepager", ".tamp" => "application/vnd.onepagertamp", # 680 ".tamx" => "application/vnd.onepagertamx", ".tat" => "application/vnd.onepagertat", ".tatp" => "application/vnd.onepagertatp", ".tatx" => "application/vnd.onepagertatx", ".obgx" => "application/vnd.openblox.game+xml", # 685 ".obg" => "application/vnd.openblox.game-binary", ".oeb" => "application/vnd.openeye.oeb", ".oxt" => "application/vnd.openofficeorg.extension", ".osm" => "application/vnd.openstreetmap.data+xml", ".pptx" => "application/vnd.openxmlformats-officedocument.presentationml.presentation", # 690 ".sldx" => "application/vnd.openxmlformats-officedocument.presentationml.slide", ".ppsx" => "application/vnd.openxmlformats-officedocument.presentationml.slideshow", ".potx" => "application/vnd.openxmlformats-officedocument.presentationml.template", ".xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ".xltx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.template", # 695 ".docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document", ".dotx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.template", ".ndc" => "application/vnd.osa.netdeploy", ".mgp" => "application/vnd.osgeo.mapguide.package", ".dp" => "application/vnd.osgi.dp", # 700 ".esa" => "application/vnd.osgi.subsystem", ".oxlicg" => "application/vnd.oxli.countgraph", ".oprc" => "application/vnd.palm", ".pdb" => "application/vnd.palm", ".pqa" => "application/vnd.palm", # 705 ".prc" => "application/vnd.palm", ".plp" => "application/vnd.panoply", ".dive" => "application/vnd.patentdive", ".paw" => "application/vnd.pawaafile", ".str" => "application/vnd.pg.format", # 710 ".ei6" => "application/vnd.pg.osasli", ".pil" => "application/vnd.piaccess.application-license", ".efif" => "application/vnd.picsel", ".wg" => "application/vnd.pmi.widget", ".plf" => "application/vnd.pocketlearn", # 715 ".pbd" => "application/vnd.powerbuilder6", ".preminet" => "application/vnd.preminet", ".box" => "application/vnd.previewsystems.box", ".vbox" => "application/vnd.previewsystems.box", ".mgz" => "application/vnd.proteus.magazine", # 720 ".psfs" => "application/vnd.psfs", ".qps" => "application/vnd.publishare-delta-tree", ".ptid" => "application/vnd.pvi.ptid1", ".bar" => "application/vnd.qualcomm.brew-app-res", ".quiz" => "application/vnd.quobject-quoxdocument", # 725 ".quox" => "application/vnd.quobject-quoxdocument", ".tree" => "application/vnd.rainstor.data", ".rar" => "application/vnd.rar", ".bed" => "application/vnd.realvnc.bed", ".mxl" => "application/vnd.recordare.musicxml", # 730 ".cryptonote" => "application/vnd.rig.cryptonote", ".cod" => "application/vnd.rim.cod", ".link66" => "application/vnd.route66.link66+xml", ".st" => "application/vnd.sailingtracker.track", ".SAR" => "application/vnd.sar", # 735 ".scd" => "application/vnd.scribus", ".sla" => "application/vnd.scribus", ".slaz" => "application/vnd.scribus", ".s3df" => "application/vnd.sealed.3df", ".scsf" => "application/vnd.sealed.csf", # 740 ".s1w" => "application/vnd.sealed.doc", ".sdo" => "application/vnd.sealed.doc", ".sdoc" => "application/vnd.sealed.doc", ".sem" => "application/vnd.sealed.eml", ".seml" => "application/vnd.sealed.eml", # 745 ".smh" => "application/vnd.sealed.mht", ".smht" => "application/vnd.sealed.mht", ".s1p" => "application/vnd.sealed.ppt", ".sppt" => "application/vnd.sealed.ppt", ".stif" => "application/vnd.sealed.tiff", # 750 ".s1e" => "application/vnd.sealed.xls", ".sxl" => "application/vnd.sealed.xls", ".sxls" => "application/vnd.sealed.xls", ".s1h" => "application/vnd.sealedmedia.softseal.html", ".stml" => "application/vnd.sealedmedia.softseal.html", # 755 ".s1a" => "application/vnd.sealedmedia.softseal.pdf", ".spd" => "application/vnd.sealedmedia.softseal.pdf", ".spdf" => "application/vnd.sealedmedia.softseal.pdf", ".see" => "application/vnd.seemail", ".sema" => "application/vnd.sema", # 760 ".semd" => "application/vnd.semd", ".semf" => "application/vnd.semf", ".ssv" => "application/vnd.shade-save-file", ".ifm" => "application/vnd.shana.informed.formdata", ".itp" => "application/vnd.shana.informed.formtemplate", # 765 ".iif" => "application/vnd.shana.informed.interchange", ".ipk" => "application/vnd.shana.informed.package", ".shp" => "application/vnd.shp", ".shx" => "application/vnd.shx", ".sr" => "application/vnd.sigrok.session", # 770 ".mmf" => "application/vnd.smaf", ".notebook" => "application/vnd.smart.notebook", ".teacher" => "application/vnd.smart.teacher", ".pt" => "application/vnd.snesdev-page-table", ".ptrom" => "application/vnd.snesdev-page-table", # 775 ".fo" => "application/vnd.software602.filler.form+xml", ".zfo" => "application/vnd.software602.filler.form-xml-zip", ".sdkd" => "application/vnd.solent.sdkm+xml", ".sdkm" => "application/vnd.solent.sdkm+xml", ".dxp" => "application/vnd.spotfire.dxp", # 780 ".sfs" => "application/vnd.spotfire.sfs", ".sqlite" => "application/vnd.sqlite3", ".sqlite3" => "application/vnd.sqlite3", ".sdc" => "application/vnd.stardivision.calc", ".sds" => "application/vnd.stardivision.chart", # 785 ".sda" => "application/vnd.stardivision.draw", ".sdd" => "application/vnd.stardivision.impress", ".sdw" => "application/vnd.stardivision.writer", ".sgl" => "application/vnd.stardivision.writer-global", ".smzip" => "application/vnd.stepmania.package", # 790 ".sm" => "application/vnd.stepmania.stepchart", ".wadl" => "application/vnd.sun.wadl+xml", ".sxc" => "application/vnd.sun.xml.calc", ".stc" => "application/vnd.sun.xml.calc.template", ".sxd" => "application/vnd.sun.xml.draw", # 795 ".std" => "application/vnd.sun.xml.draw.template", ".sxi" => "application/vnd.sun.xml.impress", ".sti" => "application/vnd.sun.xml.impress.template", ".sxm" => "application/vnd.sun.xml.math", ".sxw" => "application/vnd.sun.xml.writer", # 800 ".sxg" => "application/vnd.sun.xml.writer.global", ".stw" => "application/vnd.sun.xml.writer.template", ".sus" => "application/vnd.sus-calendar", ".susp" => "application/vnd.sus-calendar", ".sis" => "application/vnd.symbian.install", # 805 ".xsm" => "application/vnd.syncml+xml", ".bdm" => "application/vnd.syncml.dm+wbxml", ".xdm" => "application/vnd.syncml.dm+xml", ".ddf" => "application/vnd.syncml.dmddf+xml", ".tao" => "application/vnd.tao.intent-module-archive", # 810 ".cap" => "application/vnd.tcpdump.pcap", ".dmp" => "application/vnd.tcpdump.pcap", ".pcap" => "application/vnd.tcpdump.pcap", ".qvd" => "application/vnd.theqvd", ".ppttc" => "application/vnd.think-cell.ppttc+json", # 815 ".vfr" => "application/vnd.tml", ".viaframe" => "application/vnd.tml", ".tmo" => "application/vnd.tmobile-livetv", ".tpt" => "application/vnd.trid.tpt", ".mxs" => "application/vnd.triscape.mxs", # 820 ".tra" => "application/vnd.trueapp", ".frm" => "application/vnd.ufdl", ".ufd" => "application/vnd.ufdl", ".ufdl" => "application/vnd.ufdl", ".utz" => "application/vnd.uiq.theme", # 825 ".umj" => "application/vnd.umajin", ".unityweb" => "application/vnd.unity", ".uo" => "application/vnd.uoml+xml", ".uoml" => "application/vnd.uoml+xml", ".urim" => "application/vnd.uri-map", # 830 ".urimap" => "application/vnd.uri-map", ".vmt" => "application/vnd.valve.source.material", ".vcx" => "application/vnd.vcx", ".model-inter" => "application/vnd.vd-study", ".mxi" => "application/vnd.vd-study", # 835 ".study-inter" => "application/vnd.vd-study", ".vwx" => "application/vnd.vectorworks", ".istc" => "application/vnd.veryant.thin", ".isws" => "application/vnd.veryant.thin", ".VES" => "application/vnd.ves.encrypted", # 840 ".vsc" => "application/vnd.vidsoft.vidconference", ".vsd" => "application/vnd.visio", ".vss" => "application/vnd.visio", ".vst" => "application/vnd.visio", ".vsw" => "application/vnd.visio", # 845 ".vis" => "application/vnd.visionary", ".vsf" => "application/vnd.vsf", ".sic" => "application/vnd.wap.sic", ".slc" => "application/vnd.wap.slc", ".wbxml" => "application/vnd.wap.wbxml", # 850 ".wmlc" => "application/vnd.wap.wmlc", ".wmlsc" => "application/vnd.wap.wmlscriptc", ".wtb" => "application/vnd.webturbo", ".p2p" => "application/vnd.wfa.p2p", ".wsc" => "application/vnd.wfa.wsc", # 855 ".wmc" => "application/vnd.wmc", ".nb" => "application/vnd.wolfram.mathematica", ".m" => "application/vnd.wolfram.mathematica.package", ".nbp" => "application/vnd.wolfram.player", ".wpd" => "application/vnd.wordperfect", # 860 ".wp5" => "application/vnd.wordperfect5.1", ".wqd" => "application/vnd.wqd", ".stf" => "application/vnd.wt.stf", ".wv" => "application/vnd.wv.csp+wbxml", ".xar" => "application/vnd.xara", # 865 ".xfd" => "application/vnd.xfdl", ".xfdl" => "application/vnd.xfdl", ".cpkg" => "application/vnd.xmpie.cpkg", ".dpkg" => "application/vnd.xmpie.dpkg", ".ppkg" => "application/vnd.xmpie.ppkg", # 870 ".xlim" => "application/vnd.xmpie.xlim", ".hvd" => "application/vnd.yamaha.hv-dic", ".hvs" => "application/vnd.yamaha.hv-script", ".hvp" => "application/vnd.yamaha.hv-voice", ".osf" => "application/vnd.yamaha.openscoreformat", # 875 ".saf" => "application/vnd.yamaha.smaf-audio", ".spf" => "application/vnd.yamaha.smaf-phrase", ".yme" => "application/vnd.yaoweme", ".cmp" => "application/vnd.yellowriver-custom-menu", ".zir" => "application/vnd.zul", # 880 ".zirz" => "application/vnd.zul", ".zaz" => "application/vnd.zzazz.deck+xml", ".wk" => "application/x-123", ".7z" => "application/x-7z-compressed", ".abw" => "application/x-abiword", # 885 ".dmg" => "application/x-apple-diskimage", ".bcpio" => "application/x-bcpio", ".torrent" => "application/x-bittorrent", ".bz2" => "application/x-bzip", ".cda" => "application/x-cdf", # 890 ".cdf" => "application/x-cdf", ".vcd" => "application/x-cdlink", ".mph" => "application/x-comsol", ".cpio" => "application/x-cpio", ".dcr" => "application/x-director", # 895 ".dir" => "application/x-director", ".dxr" => "application/x-director", ".wad" => "application/x-doom", ".dvi" => "application/x-dvi", ".gsf" => "application/x-font", # 900 ".pfa" => "application/x-font", ".pfb" => "application/x-font", ".pcf" => "application/x-font-pcf", ".mm" => "application/x-freemind", ".gan" => "application/x-ganttproject", # 905 ".gnumeric" => "application/x-gnumeric", ".sgf" => "application/x-go-sgf", ".gcf" => "application/x-graphing-calculator", ".gtar" => "application/x-gtar", ".taz" => "application/x-gtar-compressed", # 910 ".tbz" => "application/x-gtar-compressed", ".tgz" => "application/x-gtar-compressed", ".hdf" => "application/x-hdf", ".hwp" => "application/x-hwp", ".ica" => "application/x-ica", # 915 ".info" => "application/x-info", ".ins" => "application/x-internet-signup", ".isp" => "application/x-internet-signup", ".iii" => "application/x-iphone", ".iso" => "application/x-iso9660-image", # 920 ".jnlp" => "application/x-java-jnlp-file", ".jmz" => "application/x-jmol", ".kil" => "application/x-killustrator", ".latex" => "application/x-latex", ".lha" => "application/x-lha", # 925 ".lyx" => "application/x-lyx", ".lzh" => "application/x-lzh", ".lzx" => "application/x-lzx", ".book" => "application/x-maker", ".fb" => "application/x-maker", # 930 ".fbdoc" => "application/x-maker", ".frame" => "application/x-maker", ".maker" => "application/x-maker", ".application" => "application/x-ms-application", ".wmd" => "application/x-ms-wmd", # 935 ".wmz" => "application/x-ms-wmz", ".bat" => "application/x-msdos-program", ".com" => "application/x-msdos-program", ".dll" => "application/x-msdos-program", ".exe" => "application/x-msdos-program", # 940 ".msi" => "application/x-msi", ".nc" => "application/x-netcdf", ".pac" => "application/x-ns-proxy-autoconfig", ".nwc" => "application/x-nwc", ".o" => "application/x-object", # 945 ".oza" => "application/x-oz-application", ".p7r" => "application/x-pkcs7-certreqresp", ".pyc" => "application/x-python-code", ".pyo" => "application/x-python-code", ".qgs" => "application/x-qgis", # 950 ".qtl" => "application/x-quicktimeplayer", ".rdp" => "application/x-rdp", ".rpm" => "application/x-redhat-package-manager", ".rss" => "application/x-rss+xml", ".rb" => "application/x-ruby", # 955 ".sci" => "application/x-scilab", ".xcos" => "application/x-scilab-xcos", ".shar" => "application/x-shar", ".scr" => "application/x-silverlight", ".sit" => "application/x-stuffit", # 960 ".sitx" => "application/x-stuffit", ".sv4cpio" => "application/x-sv4cpio", ".sv4crc" => "application/x-sv4crc", ".tar" => "application/x-tar", ".gf" => "application/x-tex-gf", # 965 ".pk" => "application/x-tex-pk", ".texi" => "application/x-texinfo", ".texinfo" => "application/x-texinfo", ".man" => "application/x-troff-man", ".me" => "application/x-troff-me", # 970 ".ms" => "application/x-troff-ms", ".ustar" => "application/x-ustar", ".src" => "application/x-wais-source", ".wz" => "application/x-wingz", ".crt" => "application/x-x509-ca-cert", # 975 ".xcf" => "application/x-xcf", ".fig" => "application/x-xfig", ".xpi" => "application/x-xpinstall", ".xz" => "application/x-xz", ".726" => "audio/32kadpcm", # 980 ".amr" => "audio/AMR", ".awb" => "audio/AMR-WB", ".aal" => "audio/ATRAC-ADVANCED-LOSSLESS", ".atx" => "audio/ATRAC-X", ".aa3" => "audio/ATRAC3", # 985 ".at3" => "audio/ATRAC3", ".omg" => "audio/ATRAC3", ".evc" => "audio/EVRC", ".qcp" => "audio/EVRC-QCP", ".evb" => "audio/EVRCB", # 990 ".enw" => "audio/EVRCNW", ".evw" => "audio/EVRCWB", ".l16" => "audio/L16", ".smv" => "audio/SMV", ".aac" => "audio/aac", # 995 ".adts" => "audio/aac", ".ass" => "audio/aac", ".ac3" => "audio/ac3", ".axa" => "audio/annodex", ".acn" => "audio/asc", # 1000 ".au" => "audio/basic", ".snd" => "audio/basic", ".csd" => "audio/csound", ".orc" => "audio/csound", ".sco" => "audio/csound", # 1005 ".dls" => "audio/dls", ".flac" => "audio/flac", ".lbc" => "audio/iLBC", ".mhas" => "audio/mhas", ".mxmf" => "audio/mobile-xmf", # 1010 ".m4a" => "audio/mpeg", ".mp1" => "audio/mpeg", ".mp2" => "audio/mpeg", ".mp3" => "audio/mpeg", ".mpega" => "audio/mpeg", # 1015 ".mpga" => "audio/mpeg", ".m3u" => "audio/mpegurl", ".oga" => "audio/ogg", ".ogg" => "audio/ogg", ".opus" => "audio/ogg", # 1020 ".spx" => "audio/ogg", ".psid" => "audio/prs.sid", ".sid" => "audio/prs.sid", ".sofa" => "audio/sofa", ".mid" => "audio/sp-midi", # 1025 ".loas" => "audio/usac", ".xhe" => "audio/usac", ".koz" => "audio/vnd.audiokoz", ".uva" => "audio/vnd.dece.audio", ".uvva" => "audio/vnd.dece.audio", # 1030 ".eol" => "audio/vnd.digital-winds", ".mlp" => "audio/vnd.dolby.mlp", ".dts" => "audio/vnd.dts", ".dtshd" => "audio/vnd.dts.hd", ".plj" => "audio/vnd.everad.plj", # 1035 ".lvp" => "audio/vnd.lucent.voice", ".pya" => "audio/vnd.ms-playready.media.pya", ".vbk" => "audio/vnd.nortel.vbk", ".ecelp4800" => "audio/vnd.nuera.ecelp4800", ".ecelp7470" => "audio/vnd.nuera.ecelp7470", # 1040 ".ecelp9600" => "audio/vnd.nuera.ecelp9600", ".multitrack" => "audio/vnd.presonus.multitrack", ".rip" => "audio/vnd.rip", ".s1m" => "audio/vnd.sealedmedia.softseal.mpeg", ".smp" => "audio/vnd.sealedmedia.softseal.mpeg", # 1045 ".smp3" => "audio/vnd.sealedmedia.softseal.mpeg", ".aif" => "audio/x-aiff", ".aifc" => "audio/x-aiff", ".aiff" => "audio/x-aiff", ".wax" => "audio/x-ms-wax", # 1050 ".wma" => "audio/x-ms-wma", ".ra" => "audio/x-realaudio", ".ram" => "audio/x-realaudio", ".rm" => "audio/x-realaudio", ".pls" => "audio/x-scpls", # 1055 ".sd2" => "audio/x-sd2", ".wav" => "audio/x-wav", ".alc" => "chemical/x-alchemy", ".cac" => "chemical/x-cache", ".cache" => "chemical/x-cache", # 1060 ".csf" => "chemical/x-cache-csf", ".cascii" => "chemical/x-cactvs-binary", ".cbin" => "chemical/x-cactvs-binary", ".ctab" => "chemical/x-cactvs-binary", ".cdx" => "chemical/x-cdx", # 1065 ".c3d" => "chemical/x-chem3d", ".cmdf" => "chemical/x-cmdf", ".cpa" => "chemical/x-compass", ".bsd" => "chemical/x-crossfire", ".csm" => "chemical/x-csml", # 1070 ".csml" => "chemical/x-csml", ".ctx" => "chemical/x-ctx", ".cef" => "chemical/x-cxf", ".cxf" => "chemical/x-cxf", ".emb" => "chemical/x-embl-dl-nucleotide", # 1075 ".embl" => "chemical/x-embl-dl-nucleotide", ".spc" => "chemical/x-galactic-spc", ".gam" => "chemical/x-gamess-input", ".gamin" => "chemical/x-gamess-input", ".inp" => "chemical/x-gamess-input", # 1080 ".fch" => "chemical/x-gaussian-checkpoint", ".fchk" => "chemical/x-gaussian-checkpoint", ".cub" => "chemical/x-gaussian-cube", ".gau" => "chemical/x-gaussian-input", ".gjc" => "chemical/x-gaussian-input", # 1085 ".gjf" => "chemical/x-gaussian-input", ".gal" => "chemical/x-gaussian-log", ".gcg" => "chemical/x-gcg8-sequence", ".gen" => "chemical/x-genbank", ".hin" => "chemical/x-hin", # 1090 ".ist" => "chemical/x-isostar", ".istr" => "chemical/x-isostar", ".dx" => "chemical/x-jcamp-dx", ".jdx" => "chemical/x-jcamp-dx", ".kin" => "chemical/x-kinemage", # 1095 ".mcm" => "chemical/x-macmolecule", ".mmod" => "chemical/x-macromodel-input", ".mol" => "chemical/x-mdl-molfile", ".rd" => "chemical/x-mdl-rdfile", ".rxn" => "chemical/x-mdl-rxnfile", # 1100 ".sd" => "chemical/x-mdl-sdfile", ".tgf" => "chemical/x-mdl-tgf", ".mcif" => "chemical/x-mmcif", ".mol2" => "chemical/x-mol2", ".b" => "chemical/x-molconn-Z", # 1105 ".gpt" => "chemical/x-mopac-graph", ".mop" => "chemical/x-mopac-input", ".mopcrt" => "chemical/x-mopac-input", ".zmt" => "chemical/x-mopac-input", ".moo" => "chemical/x-mopac-out", # 1110 ".mvb" => "chemical/x-mopac-vib", ".prt" => "chemical/x-ncbi-asn1-ascii", ".val" => "chemical/x-ncbi-asn1-binary", ".ros" => "chemical/x-rosdal", ".sw" => "chemical/x-swissprot", # 1115 ".vms" => "chemical/x-vamas-iso14976", ".vmd" => "chemical/x-vmd", ".xtel" => "chemical/x-xtel", ".xyz" => "chemical/x-xyz", ".ttc" => "font/collection", # 1120 ".otf" => "font/otf", ".ttf" => "font/ttf", ".woff" => "font/woff", ".woff2" => "font/woff2", ".exr" => "image/aces", # 1125 ".avci" => "image/avci", ".avcs" => "image/avcs", ".bmp" => "image/bmp", ".cgm" => "image/cgm", ".drle" => "image/dicom-rle", # 1130 ".emf" => "image/emf", ".fit" => "image/fits", ".fits" => "image/fits", ".fts" => "image/fits", ".gif" => "image/gif", # 1135 ".heic" => "image/heic", ".heics" => "image/heic-sequence", ".heif" => "image/heif", ".heifs" => "image/heif-sequence", ".hej2" => "image/hej2k", # 1140 ".hsj2" => "image/hsj2", ".ief" => "image/ief", ".jls" => "image/jls", ".jp2" => "image/jp2", ".jpg2" => "image/jp2", # 1145 ".jfif" => "image/jpeg", ".jpe" => "image/jpeg", ".jpeg" => "image/jpeg", ".jpg" => "image/jpeg", ".jph" => "image/jph", # 1150 ".jhc" => "image/jphc", ".jphc" => "image/jphc", ".jpgm" => "image/jpm", ".jpm" => "image/jpm", ".jpf" => "image/jpx", # 1155 ".jpx" => "image/jpx", ".jxr" => "image/jxr", ".jxra" => "image/jxrA", ".jxrs" => "image/jxrS", ".jxs" => "image/jxs", # 1160 ".jxsc" => "image/jxsc", ".jxsi" => "image/jxsi", ".jxss" => "image/jxss", ".ktx" => "image/ktx", ".ktx2" => "image/ktx2", # 1165 ".png" => "image/png", ".btf" => "image/prs.btif", ".btif" => "image/prs.btif", ".pti" => "image/prs.pti", ".svg" => "image/svg+xml", # 1170 ".svgz" => "image/svg+xml", ".t38" => "image/t38", ".tif" => "image/tiff", ".tiff" => "image/tiff", ".tfx" => "image/tiff-fx", # 1175 ".wmf" => "image/wmf", ".psd" => "image/vnd.adobe.photoshop", ".azv" => "image/vnd.airzip.accelerator.azv", ".uvg" => "image/vnd.dece.graphic", ".uvi" => "image/vnd.dece.graphic", # 1180 ".uvvg" => "image/vnd.dece.graphic", ".uvvi" => "image/vnd.dece.graphic", ".djv" => "image/vnd.djvu", ".djvu" => "image/vnd.djvu", ".dwg" => "image/vnd.dwg", # 1185 ".dxf" => "image/vnd.dxf", ".fbs" => "image/vnd.fastbidsheet", ".fpx" => "image/vnd.fpx", ".fst" => "image/vnd.fst", ".mmr" => "image/vnd.fujixerox.edmics-mmr", # 1190 ".rlc" => "image/vnd.fujixerox.edmics-rlc", ".PGB" => "image/vnd.globalgraphics.pgb", ".ico" => "image/vnd.microsoft.icon", ".apng" => "image/vnd.mozilla.apng", ".mdi" => "image/vnd.ms-modi", # 1195 ".b16" => "image/vnd.pco.b16", ".hdr" => "image/vnd.radiance", ".rgbe" => "image/vnd.radiance", ".xyze" => "image/vnd.radiance", ".s1n" => "image/vnd.sealed.png", # 1200 ".spn" => "image/vnd.sealed.png", ".spng" => "image/vnd.sealed.png", ".s1g" => "image/vnd.sealedmedia.softseal.gif", ".sgi" => "image/vnd.sealedmedia.softseal.gif", ".sgif" => "image/vnd.sealedmedia.softseal.gif", # 1205 ".s1j" => "image/vnd.sealedmedia.softseal.jpg", ".sjp" => "image/vnd.sealedmedia.softseal.jpg", ".sjpg" => "image/vnd.sealedmedia.softseal.jpg", ".tap" => "image/vnd.tencent.tap", ".vtf" => "image/vnd.valve.source.texture", # 1210 ".wbmp" => "image/vnd.wap.wbmp", ".xif" => "image/vnd.xiff", ".pcx" => "image/vnd.zbrush.pcx", ".cr2" => "image/x-canon-cr2", ".crw" => "image/x-canon-crw", # 1215 ".ras" => "image/x-cmu-raster", ".cdr" => "image/x-coreldraw", ".pat" => "image/x-coreldrawpattern", ".cdt" => "image/x-coreldrawtemplate", ".erf" => "image/x-epson-erf", # 1220 ".jng" => "image/x-jng", ".nef" => "image/x-nikon-nef", ".orf" => "image/x-olympus-orf", ".pnm" => "image/x-portable-anymap", ".pbm" => "image/x-portable-bitmap", # 1225 ".pgm" => "image/x-portable-graymap", ".ppm" => "image/x-portable-pixmap", ".rgb" => "image/x-rgb", ".xbm" => "image/x-xbitmap", ".xpm" => "image/x-xpixmap", # 1230 ".xwd" => "image/x-xwindowdump", ".u8msg" => "message/global", ".u8dsn" => "message/global-delivery-status", ".u8mdn" => "message/global-disposition-notification", ".u8hdr" => "message/global-headers", # 1235 ".art" => "message/rfc822", ".eml" => "message/rfc822", ".mail" => "message/rfc822", ".gltf" => "model/gltf+json", ".glb" => "model/gltf-binary", # 1240 ".iges" => "model/iges", ".igs" => "model/iges", ".mesh" => "model/mesh", ".msh" => "model/mesh", ".silo" => "model/mesh", # 1245 ".mtl" => "model/mtl", ".obj" => "model/obj", ".stl" => "model/stl", ".vrml" => "model/vrml", ".wrl" => "model/vrml", # 1250 ".x3db" => "model/x3d+fastinfoset", ".x3dv" => "model/x3d+vrml", ".x3dvz" => "model/x3d+vrml", ".x3d" => "model/x3d+xml", ".dae" => "model/vnd.collada+xml", # 1255 ".dwf" => "model/vnd.dwf", ".dor" => "model/vnd.gdl", ".gdl" => "model/vnd.gdl", ".gsm" => "model/vnd.gdl", ".ism" => "model/vnd.gdl", # 1260 ".lmp" => "model/vnd.gdl", ".msm" => "model/vnd.gdl", ".rsm" => "model/vnd.gdl", ".win" => "model/vnd.gdl", ".gtw" => "model/vnd.gtw", # 1265 ".moml" => "model/vnd.moml+xml", ".mts" => "model/vnd.mts", ".ogex" => "model/vnd.opengex", ".usdz" => "model/vnd.usdz+zip", ".bsp" => "model/vnd.valve.source.compiled-map", # 1270 ".vtu" => "model/vnd.vtu", ".vpm" => "multipart/voice-message", ".bmed" => "multipart/vnd.bint.med-plus", ".appcache" => "text/cache-manifest", ".manifest" => "text/cache-manifest", # 1275 ".ics" => "text/calendar", ".ifb" => "text/calendar", ".css" => "text/css; charset=utf-8", ".csv" => "text/csv; charset=utf-8", ".csvs" => "text/csv-schema", # 1280 ".soa" => "text/dns", ".zone" => "text/dns", ".323" => "text/h323", ".htm" => "text/html", ".html" => "text/html", # 1285 ".shtml" => "text/html", ".uls" => "text/iuls", ".cnd" => "text/jcr-cnd", ".markdown" => "text/markdown; charset=utf-8", ".md" => "text/markdown; charset=utf-8", # 1290 ".miz" => "text/mizar", ".n3" => "text/n3", ".brf" => "text/plain; charset=utf-8", ".conf" => "text/plain; charset=utf-8", ".log" => "text/plain; charset=utf-8", # 1295 ".pot" => "text/plain; charset=utf-8", ".spec" => "text/plain; charset=utf-8", ".srt" => "text/plain; charset=utf-8", ".text" => "text/plain; charset=utf-8", ".txt" => "text/plain; charset=utf-8", # 1300 ".provn" => "text/provenance-notation", ".rst" => "text/prs.fallenstein.rst", ".dsc" => "text/prs.lines.tag", ".tag" => "text/prs.lines.tag", ".rtx" => "text/richtext", # 1305 ".sct" => "text/scriptlet", ".sgm" => "text/sgml", ".sgml" => "text/sgml", ".tsv" => "text/tab-separated-values", ".tm" => "text/texmacs", # 1310 ".roff" => "text/troff", ".t" => "text/troff", ".tr" => "text/troff", ".ttl" => "text/turtle", ".uri" => "text/uri-list", # 1315 ".uris" => "text/uri-list", ".vcard" => "text/vcard", ".vcf" => "text/vcard", ".vtt" => "text/vtt", ".dms" => "text/vnd.DMClientScript", # 1320 ".a" => "text/vnd.a", ".abc" => "text/vnd.abc", ".ascii" => "text/vnd.ascii-art", ".curl" => "text/vnd.curl", ".copyright" => "text/vnd.debian.copyright", # 1325 ".jtd" => "text/vnd.esmertec.theme-descriptor", ".flt" => "text/vnd.ficlab.flt", ".fly" => "text/vnd.fly", ".flx" => "text/vnd.fmi.flexstor", ".dot" => "text/vnd.graphviz", # 1330 ".gv" => "text/vnd.graphviz", ".hgl" => "text/vnd.hgl", ".3dm" => "text/vnd.in3d.3dml", ".3dml" => "text/vnd.in3d.3dml", ".spo" => "text/vnd.in3d.spot", # 1335 ".spot" => "text/vnd.in3d.spot", ".mpf" => "text/vnd.ms-mediapackage", ".ccc" => "text/vnd.net2phone.commcenter.command", ".mc2" => "text/vnd.senx.warpscript", ".sos" => "text/vnd.sosi", # 1340 ".jad" => "text/vnd.sun.j2me.app-descriptor", ".ts" => "text/vnd.trolltech.linguist", ".si" => "text/vnd.wap.si", ".sl" => "text/vnd.wap.sl", ".wml" => "text/vnd.wap.wml", # 1345 ".wmls" => "text/vnd.wap.wmlscript", ".bib" => "text/x-bibtex; charset=utf-8", ".boo" => "text/x-boo; charset=utf-8", ".h++" => "text/x-c++hdr; charset=utf-8", ".hh" => "text/x-c++hdr; charset=utf-8", # 1350 ".hpp" => "text/x-c++hdr; charset=utf-8", ".hxx" => "text/x-c++hdr; charset=utf-8", ".c++" => "text/x-c++src; charset=utf-8", ".cc" => "text/x-c++src; charset=utf-8", ".cpp" => "text/x-c++src; charset=utf-8", # 1355 ".cxx" => "text/x-c++src; charset=utf-8", ".h" => "text/x-chdr; charset=utf-8", ".htc" => "text/x-component", ".csh" => "text/x-csh; charset=utf-8", ".c" => "text/x-csrc; charset=utf-8", # 1360 ".diff" => "text/x-diff; charset=utf-8", ".patch" => "text/x-diff; charset=utf-8", ".d" => "text/x-dsrc; charset=utf-8", ".hs" => "text/x-haskell; charset=utf-8", ".java" => "text/x-java; charset=utf-8", # 1365 ".ly" => "text/x-lilypond; charset=utf-8", ".lhs" => "text/x-literate-haskell; charset=utf-8", ".moc" => "text/x-moc; charset=utf-8", ".p" => "text/x-pascal; charset=utf-8", ".pas" => "text/x-pascal; charset=utf-8", # 1370 ".gcd" => "text/x-pcs-gcd", ".pl" => "text/x-perl; charset=utf-8", ".pm" => "text/x-perl; charset=utf-8", ".py" => "text/x-python; charset=utf-8", ".scala" => "text/x-scala; charset=utf-8", # 1375 ".etx" => "text/x-setext", ".sfv" => "text/x-sfv", ".sh" => "text/x-sh; charset=utf-8", ".tcl" => "text/x-tcl; charset=utf-8", ".tk" => "text/x-tcl; charset=utf-8", # 1380 ".cls" => "text/x-tex; charset=utf-8", ".ltx" => "text/x-tex; charset=utf-8", ".sty" => "text/x-tex; charset=utf-8", ".tex" => "text/x-tex; charset=utf-8", ".vcs" => "text/x-vcalendar", # 1385 ".axv" => "video/annodex", ".dl" => "video/dl", ".dif" => "video/dv", ".dv" => "video/dv", ".fli" => "video/fli", # 1390 ".gl" => "video/gl", ".m4s" => "video/iso.segment", ".mj2" => "video/mj2", ".mjp2" => "video/mj2", ".m4v" => "video/mp4", # 1395 ".mp4" => "video/mp4", ".mpg4" => "video/mp4", ".m1v" => "video/mpeg", ".m2v" => "video/mpeg", ".mpe" => "video/mpeg", # 1400 ".mpeg" => "video/mpeg", ".mpg" => "video/mpeg", ".ogv" => "video/ogg", ".mov" => "video/quicktime", ".qt" => "video/quicktime", # 1405 ".webm" => "video/webm", ".uvh" => "video/vnd.dece.hd", ".uvvh" => "video/vnd.dece.hd", ".uvm" => "video/vnd.dece.mobile", ".uvvm" => "video/vnd.dece.mobile", # 1410 ".uvu" => "video/vnd.dece.mp4", ".uvvu" => "video/vnd.dece.mp4", ".uvp" => "video/vnd.dece.pd", ".uvvp" => "video/vnd.dece.pd", ".uvs" => "video/vnd.dece.sd", # 1415 ".uvvs" => "video/vnd.dece.sd", ".uvv" => "video/vnd.dece.video", ".uvvv" => "video/vnd.dece.video", ".dvb" => "video/vnd.dvb.file", ".fvt" => "video/vnd.fvt", # 1420 ".m4u" => "video/vnd.mpegurl", ".mxu" => "video/vnd.mpegurl", ".pyv" => "video/vnd.ms-playready.media.pyv", ".nim" => "video/vnd.nokia.interleaved-multimedia", ".bik" => "video/vnd.radgamettools.bink", # 1425 ".bk2" => "video/vnd.radgamettools.bink", ".smk" => "video/vnd.radgamettools.smacker", ".s11" => "video/vnd.sealed.mpeg1", ".smpg" => "video/vnd.sealed.mpeg1", ".s14" => "video/vnd.sealed.mpeg4", # 1430 ".ssw" => "video/vnd.sealed.swf", ".sswf" => "video/vnd.sealed.swf", ".s1q" => "video/vnd.sealedmedia.softseal.mov", ".smo" => "video/vnd.sealedmedia.softseal.mov", ".smov" => "video/vnd.sealedmedia.softseal.mov", # 1435 ".viv" => "video/vnd.vivo", ".yt" => "video/vnd.youtube.yt", ".flv" => "video/x-flv", ".lsf" => "video/x-la-asf", ".lsx" => "video/x-la-asf", # 1440 ".mkv" => "video/x-matroska", ".mpv" => "video/x-matroska", ".mng" => "video/x-mng", ".wm" => "video/x-ms-wm", ".wmv" => "video/x-ms-wmv", # 1445 ".wmx" => "video/x-ms-wmx", ".wvx" => "video/x-ms-wvx", ".avi" => "video/x-msvideo", ".movie" => "video/x-sgi-movie", ".ice" => "x-conference/x-cooltalk", # 1450 ".sisx" => "x-epoc/x-sisx-app", ".vrm" => "x-world/x-vrml", "README" => "text/plain; charset=utf-8", "Makefile" => "text/x-makefile; charset=utf-8", "" => "application/octet-stream", # 1455 ) server.document-root = "/var/www/html" server.upload-dirs = ("/var/cache/lighttpd/uploads") server.errorlog = "/var/log/lighttpd/error-pihole.log" server.pid-file = "/run/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 server.feature-flags = ( "server.h2proto" => "enable", "server.h2c" => "enable", "server.graceful-shutdown-timeout" => 5, # 3 ) server.http-parseopts = ( "header-strict" => "enable", "host-strict" => "enable", "host-normalize" => "enable", "url-normalize-unreserved" => "enable", "url-normalize-required" => "enable", # 5 "url-ctrls-reject" => "enable", "url-path-2f-decode" => "enable", "url-path-dotseg-remove" => "enable", # 8 ) index-file.names = ("index.php", "index.html", "index.lighttpd.html") url.access-deny = ("~", ".inc") static-file.exclude-extensions = (".php", ".pl", ".fcgi") server.modules = ( "mod_indexfile", "mod_access", "mod_alias", "mod_redirect", "mod_setenv", "mod_fastcgi", "mod_openssl", "mod_dirlisting", "mod_staticfile", # 9 ) $SERVER["socket"] == "[::]:80" { # block 1 } # end of $SERVER["socket"] == "[::]:80" $HTTP["url"] == "/" { # block 2 $HTTP["host"] == "" { # block 3 url.redirect = ( "" => "/admin/", ) } # end of $HTTP["host"] == "" $HTTP["host"] == "0.0.0.0" { # block 4 url.redirect = ( "" => "/admin/", ) } # end of $HTTP["host"] == "0.0.0.0" } # end of $HTTP["url"] == "/" $HTTP["url"] =~ "^/admin/" { # block 5 server.document-root = "/var/www/html" server.stream-response-body = 1 accesslog.filename = "/var/log/lighttpd/access-pihole.log" accesslog.format = "%{%s}t|%h|%V|%r|%s|%b" fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/tmp/pihole-php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi", "min-procs" => 0, "max-procs" => 1, "bin-environment" => ( "TZ" => "Europe/Berlin", "PIHOLE_DOCKER_TAG" => "", "PHP_ERROR_LOG" => "/var/log/lighttpd/error-pihole.log", "CORS_HOSTS" => "", "VIRTUAL_HOST" => "0.0.0.0", # 5 "PHP_FCGI_CHILDREN" => "4", "PHP_FCGI_MAX_REQUESTS" => "10000", # 7 ), # 5 "bin-copy-environment" => ("PATH", "SHELL", "USER"), "broken-scriptfilename" => "enable", # 7 ), ), ) setenv.add-response-header = ( "X-Pi-hole" => "The Pi-hole Web interface is working!", "X-Frame-Options" => "DENY", "X-XSS-Protection" => "0", "X-Content-Type-Options" => "nosniff", "Content-Security-Policy" => "default-src 'self' 'unsafe-inline';", # 5 "X-Permitted-Cross-Domain-Policies" => "none", "Referrer-Policy" => "same-origin", # 7 ) $HTTP["url"] =~ "^/admin/\." { # block 6 url.access-deny = ("") } # end of $HTTP["url"] =~ "^/admin/\." $HTTP["url"] =~ "/(teleporter|api_token)\.php$" { # block 7 $HTTP["referer"] =~ "/admin/settings\.php" { # block 8 setenv.set-response-header = ( "X-Frame-Options" => "SAMEORIGIN", ) } # end of $HTTP["referer"] =~ "/admin/settings\.php" } # end of $HTTP["url"] =~ "/(teleporter|api_token)\.php$" } # end of $HTTP["url"] =~ "^/admin/" else $HTTP["url"] == "/admin" { # block 9 url.redirect = ( "" => "/admin/", ) } # end of $HTTP["url"] == "/admin" $HTTP["host"] == "pi.hole" { # block 10 $HTTP["url"] == "/" { # block 11 url.redirect = ( "" => "/admin/", ) } # end of $HTTP["url"] == "/" } # end of $HTTP["host"] == "pi.hole" $SERVER["socket"] == ":443" { # block 12 ssl.engine = "enable" ssl.pemfile = "/etc/letsencrypt/fullchain.pem" ssl.privkey = "/etc/letsencrypt/key.pem" ssl.openssl.ssl-conf-cmd = ( "MinProtocol" => "TLSv1.3", "Options" => "-ServerPreference", # 2 ) } # end of $SERVER["socket"] == ":443" } root@pihole-hel1-dc2:/#
Apparently both Block 3
and Block 4
are triggered for IP access.
This is causing a conflict, because both blocks are setting url.redirect
.
Where did you set these blocks?
What is the output of lighttpd -tt -f /etc/lighttpd/lighttpd.conf
?
That's all output ๐คท๐ผโโ๏ธ
2023-01-17 18:55:25: configfile.c.1142) WARNING: unknown config-key: accesslog.filename (ignored)
2023-01-17 18:55:25: configfile.c.1142) WARNING: unknown config-key: accesslog.format (ignored)
These blocks are set here:
root@pihole-hel1-dc2:/etc# grep "url.redirect" -i lighttpd/ -R
lighttpd/conf-enabled/15-pihole-admin.conf: url.redirect = ("" => "/admin/")
lighttpd/conf-enabled/15-pihole-admin.conf: url.redirect = ("" => "/admin/")
lighttpd/conf-enabled/20-external.conf:# url.redirect = (".*" => "https://%0$0")
lighttpd/conf-enabled/20-external.conf:## url.redirect = ( "^/(.*)" => "https://%1:33443/$1" )
lighttpd/conf-enabled/15-pihole-admin-redirect-docker.conf: url.redirect = ("" => "/admin/")
lighttpd/conf-enabled/15-pihole-admin-redirect-docker.conf: url.redirect = ("" => "/admin/")
lighttpd/conf-available/10-no-www.conf: url.redirect = ( "^/(.*)" => "http://%1/$1" )
lighttpd/conf-available/15-pihole-admin.conf: url.redirect = ("" => "/admin/")
lighttpd/conf-available/15-pihole-admin.conf: url.redirect = ("" => "/admin/")
root@pihole-hel1-dc2:/etc#
In my 20-file this is only a comment. This comment should not cause any problem!?
In my 20-file this is only a comment. This comment should not cause any problem!?
Probably not, but you could try to remove the comment and test.
The issue about unknown config-key: accesslog.filename
is solved on development branch (not released yet).
In my 20-file this is only a comment. This comment should not cause any problem!?
Probably not, but you could try to remove the comment and test.
Without the comments it's still thereโฆ
@thomasmerz Could you provide the contents of 20-external.conf
as-is please?
Complete file with all comments and uncensored:
# ---
# inspired/taken from:
# https://discourse.pi-hole.net/t/enabling-https-for-your-pi-hole-web-interface/5771
# fixed after 2022.04.01 by:
# https://github.com/pi-hole/docker-pi-hole/issues/1046#issuecomment-1125443544
# ---
#load openssl
server.modules += ( "mod_openssl" )
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/fullchain.pem"
ssl.privkey = "/etc/letsencrypt/key.pem"
ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.3", "Options" => "-ServerPreference")
}
# Redirect HTTP to HTTPS
#$HTTP["scheme"] == "http" {
# $HTTP["host"] =~ ".*" {
# url.redirect = (".*" => "https://%0$0")
# }
#}
# ---
# REDIRECTING MIGHT BREAK GITHUB-UPPTIME-MONITORING
# IF CERT IS NOT FROM THIS HOST!
# USE IP IN URL INSTEAD OF HOSTNAME "SOLVES" THIS,
# BECAUSE REDIRECTION ONLY OCCURS FOR HOSTNAMEโฆ
# ---
# rewrite protocol + port
# https://stackoverflow.com/q/18476860
##$HTTP["scheme"] == "http" {
## $HTTP["host"] =~ "([^:/]+)" {
## url.redirect = ( "^/(.*)" => "https://%1:33443/$1" )
## }
##}
# 2023-01-13
# https://pi-hole.net/blog/2023/01/15/pi-hole-ftl-v5-20-1-web-v5-18-1-and-core-v5-15-released/#page-content
#$HTTP["url"] == "/" {
## $HTTP["host"] == "my.custom.domain" {
## url.redirect = ("" => "/admin/")
# $HTTP["host"] =~ ".*" {
# url.redirect = (".*" => "https://%0$0/admin")
# }
#}
Are you using other custom files? Did you change the original config files?
I am experiencing the same bug using 2023.01.2, let me know if you need logs or other testing.
@labodj
How are you updating the container? Using Portainer web interface or something similar?
Are you removing all old environment variables before start the new container?
@rdwebdesign yes I'm using portainer 2.16.2, docker engine 20.10.22 on Manjaro on Raspberry pi 4 4GB, I just tried to stop the container, remove it selecting "Automatically remove non-persistent volumes" And recreate it selecting "Re-pull image and redeploy"
This bug still persists
Are you using other custom files? Did you change the original config files?
This is my docker-compose.yml
:
version: "3"
services:
pihole:
hostname: 'pihole-nbg1-dc3'
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "12380:80/tcp"
- "12443:443/tcp"
environment:
TZ: 'Europe/Berlin'
volumes:
- './etc-pihole/:/etc/pihole/'
- './etc-dnsmasq.d/:/etc/dnsmasq.d/'
- './etc-lighttpd-external.conf:/etc/lighttpd/conf-enabled/20-external.conf'
- './etc-letsencrypt:/etc/letsencrypt/'
cap_add:
- CAP_SYS_NICE
restart: unless-stopped
There is only this single file. And I didn't touch the original files.
I'm updating by docker-compose pull/stop/up -d
on a daily schedule.
Can you please execute one more test?
pihole/pihole:2023.01.2
;PHP_ENV_CONFIG
. Leave only what you really need.Can you please execute one more test?
- In Portainer "Container list", click on the pi-hole container;
- Click on "Duplicate/Edit" button. Make sure the image is
pihole/pihole:2023.01.2
;- scroll down to "Advanced container settings";
- on "Env" tab, remove all unnecessary variables, specially
PHP_ENV_CONFIG
. Leave only what you really need.- remove everything from "Labels" tab too.
- scroll up a little and click on "Deploy the container" button.
My ENV variables:
QUERY_LOGGING=true
DNS_FQDN_REQUIRED=true
REV_SERVER_CIDR=192.168.21.0/24
IPv6=false
FTLCONF_LOCAL_IPV4=192.168.21.20
REV_SERVER_TARGET=192.168.21.1
TEMPERATUREUNIT=c
FTLCONF_RATE_LIMIT=0/0
DNSSEC=true
DHCP_ACTIVE=false
REV_SERVER_DOMAIN=labo-lan
WEB_PORT=8084
DNS_BOGUS_PRIV=true
WEBTHEME=default-darker
PIHOLE_DNS_=127.0.0.1#5335;192.168.21.1
WEBPASSWORD=redacted
REV_SERVER=true
TZ=Europe/Rome
DNSMASQ_LISTENING=all
PATH=/opt/pihole:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
phpver=php
PHP_ERROR_LOG=/var/log/lighttpd/error-pihole.log
S6_KEEP_ENV=1
S6_BEHAVIOUR_IF_STAGE2_FAILS=2
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
VIRTUAL_HOST=
FTL_CMD=no-daemon
DNSMASQ_USER=pihole
Labels:
It seems pretty basic to me, which one can be deleted?
My docker-compose:
version: "3.9"
# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
pihole:
container_name: pihole
image: pihole/pihole:2023.01.2
labels:
- "com.centurylinklabs.watchtower.enable=false" # Disable watchtower
restart: unless-stopped
network_mode: host
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
#ports:
# - "53:53/tcp" # DNS TCP
# - "53:53/udp" # DNS UDP
# - "67:67/udp" # DHCP
# - "547:547/udp" # DHCPv6
# - "8084:8084/tcp" # http Interface
volumes:
# Data
- /home/labo/docker/pihole/etc-pihole:/etc/pihole
- /home/labo/docker/pihole/etc-dnsmasq.d:/etc/dnsmasq.d
# Correct time
- /etc/localtime:/etc/localtime:ro
#- /etc/timezone:/etc/timezone:ro
environment:
TZ: "Europe/Rome"
WEBPASSWORD: "redacted"
#FTLCONF_REPLY_ADDR4: "192.168.21.20"
FTLCONF_LOCAL_IPV4: "192.168.21.20"
#PIHOLE_DNS_: "127.0.0.1#5335;192.168.21.1;127.0.0.1#5053;1.1.1.1;" # unbound, router (unbound), dnscrypt, cloudflare
#PIHOLE_DNS_: "127.0.0.1#5335" # unbound
PIHOLE_DNS_: "127.0.0.1#5335;192.168.21.1" #unbound, router (unbound)
DNSSEC: "true"
DNS_BOGUS_PRIV: "true"
DNS_FQDN_REQUIRED: "true"
REV_SERVER: "true"
REV_SERVER_DOMAIN: "labo-lan"
REV_SERVER_TARGET: "192.168.21.1"
REV_SERVER_CIDR: "192.168.21.0/24"
DHCP_ACTIVE: "false"
IPv6: "false"
TEMPERATUREUNIT: "c"
QUERY_LOGGING: "true"
WEBTHEME: "default-darker"
#INTERFACE: 'eth0'
DNSMASQ_LISTENING: "all" # Per wireguard
WEB_PORT: "8084"
#FTL Configs https://docs.pi-hole.net/ftldns/configfile/
FTLCONF_RATE_LIMIT: "0/0"
#cap_add:
# - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
logging:
options:
max-size: "10m"
max-file: "5"
The only other config changed is that I added a custom Dnsmasq config
99-labo.conf:
edns-packet-max=1232
strict-order
I thought you were starting the container "manually", filling the web interface fields by hand.
If you are using a compose file to start the container, the previous container should be destroyed.
@thomasmerz
I just noticed, the error message is showing /etc/lighttpd/conf-enabled/15-pihole-admin-redirect-docker.conf
.
This is not a Pi-hole official config file.
Pi-hole uses /etc/lighttpd/conf-enabled/15-pihole-admin.conf
.
Are you using a third party image?
If you are using the official image, please provide ALL lighttpd
config files you are using.
To be sure, what is the output of ls -la /etc/lighttpd/conf-enabled
?
root@pihole-merz-nimbus:~# ls -la /etc/lighttpd/conf-enabled
total 32
drwxr-xr-x 1 root root 242 Jan 17 18:20 .
drwxr-xr-x 1 pihole root 78 Jan 16 09:47 ..
lrwxrwxrwx 1 root root 32 Jan 16 09:48 05-setenv.conf -> ../conf-available/05-setenv.conf
lrwxrwxrwx 1 root root 33 Jan 16 09:48 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
-rw-r--r-- 1 root root 205 Jan 16 09:47 15-pihole-admin-redirect-docker.conf
-rw-r--r-- 1 root root 4264 Jan 17 18:20 15-pihole-admin.conf
-rw-r--r-- 1 1000 users 1070 May 13 2022 20-external.conf
lrwxrwxrwx 1 root root 38 Jan 15 03:04 99-unconfigured.conf -> ../conf-available/99-unconfigured.conf
Before you have to ask for more contentsโฆ ๐
root@pihole-merz-nimbus:/etc/lighttpd/conf-enabled# grep -v \# * 05-setenv.conf: 05-setenv.conf:server.modules += ( "mod_setenv" ) 05-setenv.conf: 05-setenv.conf: 10-fastcgi.conf: 10-fastcgi.conf:server.modules += ( "mod_fastcgi" ) 15-pihole-admin-redirect-docker.conf:$HTTP["url"] == "/" { 15-pihole-admin-redirect-docker.conf: $HTTP["host"] == env.VIRTUAL_HOST { 15-pihole-admin-redirect-docker.conf: url.redirect = ("" => "/admin/") 15-pihole-admin-redirect-docker.conf: } 15-pihole-admin-redirect-docker.conf: $HTTP["host"] == env.FTLCONF_LOCAL_IPV4 { 15-pihole-admin-redirect-docker.conf: url.redirect = ("" => "/admin/") 15-pihole-admin-redirect-docker.conf: } 15-pihole-admin-redirect-docker.conf:} 15-pihole-admin.conf: 15-pihole-admin.conf: 15-pihole-admin.conf:server.errorlog := "/var/log/lighttpd/error-pihole.log" 15-pihole-admin.conf: 15-pihole-admin.conf:$HTTP["url"] =~ "^/admin/" { 15-pihole-admin.conf: server.document-root = "/var/www/html" 15-pihole-admin.conf: server.stream-response-body = 1 15-pihole-admin.conf: accesslog.filename = "/var/log/lighttpd/access-pihole.log" 15-pihole-admin.conf: accesslog.format = "%{%s}t|%h|%V|%r|%s|%b" 15-pihole-admin.conf: 15-pihole-admin.conf: fastcgi.server = ( 15-pihole-admin.conf: ".php" => ( 15-pihole-admin.conf: "localhost" => ( 15-pihole-admin.conf: "socket" => "/tmp/pihole-php-fastcgi.socket", 15-pihole-admin.conf: "bin-path" => "/usr/bin/php-cgi", 15-pihole-admin.conf: "min-procs" => 0, 15-pihole-admin.conf: "max-procs" => 1, 15-pihole-admin.conf: "bin-environment" => ( 15-pihole-admin.conf: "TZ" => "Europe/Berlin", 15-pihole-admin.conf: "PIHOLE_DOCKER_TAG" => "", 15-pihole-admin.conf: "PHP_ERROR_LOG" => "/var/log/lighttpd/error-pihole.log", 15-pihole-admin.conf: "CORS_HOSTS" => "", 15-pihole-admin.conf: "VIRTUAL_HOST" => "0.0.0.0", 15-pihole-admin.conf: "PHP_FCGI_CHILDREN" => "4", 15-pihole-admin.conf: "PHP_FCGI_MAX_REQUESTS" => "10000", 15-pihole-admin.conf: ), 15-pihole-admin.conf: "bin-copy-environment" => ( 15-pihole-admin.conf: "PATH", "SHELL", "USER" 15-pihole-admin.conf: ), 15-pihole-admin.conf: "broken-scriptfilename" => "enable", 15-pihole-admin.conf: ) 15-pihole-admin.conf: ) 15-pihole-admin.conf: ) 15-pihole-admin.conf: 15-pihole-admin.conf: setenv.add-response-header = ( 15-pihole-admin.conf: "X-Pi-hole" => "The Pi-hole Web interface is working!", 15-pihole-admin.conf: "X-Frame-Options" => "DENY", 15-pihole-admin.conf: "X-XSS-Protection" => "0", 15-pihole-admin.conf: "X-Content-Type-Options" => "nosniff", 15-pihole-admin.conf: "Content-Security-Policy" => "default-src 'self' 'unsafe-inline';", 15-pihole-admin.conf: "X-Permitted-Cross-Domain-Policies" => "none", 15-pihole-admin.conf: "Referrer-Policy" => "same-origin" 15-pihole-admin.conf: ) 15-pihole-admin.conf: 15-pihole-admin.conf: $HTTP["url"] =~ "^/admin/\." { 15-pihole-admin.conf: url.access-deny = ("") 15-pihole-admin.conf: } 15-pihole-admin.conf: 15-pihole-admin.conf: $HTTP["url"] =~ "/(teleporter|api_token)\.php$" { 15-pihole-admin.conf: $HTTP["referer"] =~ "/admin/settings\.php" { 15-pihole-admin.conf: setenv.set-response-header = ( "X-Frame-Options" => "SAMEORIGIN" ) 15-pihole-admin.conf: } 15-pihole-admin.conf: } 15-pihole-admin.conf:} 15-pihole-admin.conf:else $HTTP["url"] == "/admin" { 15-pihole-admin.conf: url.redirect = ("" => "/admin/") 15-pihole-admin.conf:} 15-pihole-admin.conf: 15-pihole-admin.conf:$HTTP["host"] == "pi.hole" { 15-pihole-admin.conf: $HTTP["url"] == "/" { 15-pihole-admin.conf: url.redirect = ("" => "/admin/") 15-pihole-admin.conf: } 15-pihole-admin.conf:} 15-pihole-admin.conf: 20-external.conf: 20-external.conf:server.modules += ( "mod_openssl" ) 20-external.conf: 20-external.conf:$SERVER["socket"] == ":443" { 20-external.conf: ssl.engine = "enable" 20-external.conf: ssl.pemfile = "/etc/letsencrypt/fullchain.pem" 20-external.conf: ssl.privkey = "/etc/letsencrypt/key.pem" 20-external.conf: ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.3", "Options" => "-ServerPreference") 20-external.conf:} 20-external.conf: 20-external.conf: 99-unconfigured.conf:index-file.names := ( "index.php", "index.html", "index.lighttpd.html" ) root@pihole-merz-nimbus:/etc/lighttpd/conf-enabled#
Have a look what I've found: https://github.com/pi-hole/docker-pi-hole/commit/4c240a43d2a362b9d3ec80084958eeb9dd860ad2#diff-c9f8357fb9d4ad989385114677772d5b69738c3941fd1161b8e58a8f8e81d3d3
Sorry... this is the new file. I forgot about it.
EDIT: I can't replicate your error. Tested again in a new container.
Please, remove the file and try again.
Yes! After deleting: no more message(s) ๐๐ผ
Butโฆ after updating from 2023.01 to 2023.01.2 it's "back"โฆ Just for clarificationโฆ
2023-01-18T20:56:46.286684649Z Duplicate config variable in conditional 3 global / $HTTP["url"] == "/" / $HTTP["host"] == "0.0.0.0": url.redirect
2023-01-18T20:56:46.287495171Z 2023-01-18 21:56:46: configfile.c.1970) source: /etc/lighttpd/conf-enabled/15-pihole-admin-redirect-docker.conf line: 7 pos: 5 parser failed somehow near here: (EOL)
2023-01-18T20:56:46.287823694Z 2023-01-18 21:56:46: configfile.c.1970) source: /etc/lighttpd/lighttpd.conf line: 51 pos: 15 parser failed somehow near here: (EOL)
root@pihole-hel1-dc2:/etc/lighttpd/conf-enabled# ls -la
total 28
drwxr-xr-x 1 root root 4096 Jan 18 21:56 .
drwxr-xr-x 1 pihole root 4096 Jan 18 19:16 ..
lrwxrwxrwx 1 root root 32 Jan 18 19:16 05-setenv.conf -> ../conf-available/05-setenv.conf
lrwxrwxrwx 1 root root 33 Jan 18 19:16 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
-rw-r--r-- 1 root root 205 Jan 18 19:16 15-pihole-admin-redirect-docker.conf
-rw-r--r-- 1 root root 4264 Jan 18 21:56 15-pihole-admin.conf
-rw-r--r-- 1 root root 1070 May 15 2022 20-external.conf
lrwxrwxrwx 1 root root 38 Jan 15 03:04 99-unconfigured.conf -> ../conf-available/99-unconfigured.conf
root@pihole-hel1-dc2:/etc/lighttpd/conf-enabled# cat /pihole.docker.tag
2023.01.2
I'm running 2023.01.2
without problems.
Comparing the output of lighttpd -tt -f /etc/lighttpd/lighttpd.conf
in a fresh container and the one you previously posted, I found only SSL related config.
In other words: the only difference is 20-external.conf
.
@labodj When you say:
I am experiencing the same bug using 2023.01.2, let me know if you need logs or other testing.
Which bit exactly do you mean - I think you might be talking at cross purposes here. This thread is for an issue that @thomasmerz is having with loading an additional config file... this, as far as I can tell from your compose file, is not what you are facing. It is difficult to diagnose two separate issues in the same thread...
Back to @thomasmerz - are you sure the file is mounting correctly?
I have just copied your compose file exactly and started it with docker compose up
. The only errors I get are expected because I don't have any certificates in my etc-letsencrypt
directory
pihole | s6-rc: info: service s6rc-oneshot-runner: starting pihole | s6-rc: info: service s6rc-oneshot-runner successfully started pihole | s6-rc: info: service fix-attrs: starting pihole | s6-rc: info: service fix-attrs successfully started pihole | s6-rc: info: service legacy-cont-init: starting pihole | s6-rc: info: service legacy-cont-init successfully started pihole | s6-rc: info: service cron: starting pihole | s6-rc: info: service cron successfully started pihole | s6-rc: info: service _uid-gid-changer: starting pihole | s6-rc: info: service _uid-gid-changer successfully started pihole | s6-rc: info: service _startup: starting pihole | [i] Starting docker specific checks & setup for docker pihole/pihole pihole | [i] Setting capabilities on pihole-FTL where possible pihole | [i] Applying the following caps to pihole-FTL: pihole | * CAP_CHOWN pihole | * CAP_NET_BIND_SERVICE pihole | * CAP_NET_RAW pihole | * CAP_SYS_NICE pihole | [i] Ensuring basic configuration by re-running select functions from basic-install.sh pihole | pihole | [i] Installing configs from /etc/.pihole... pihole | [i] Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone! [โ] Installed /etc/dnsmasq.d/01-pihole.conf [โ] Installed /etc/dnsmasq.d/06-rfc6761.conf pihole | pihole | [i] Installing latest logrotate script... pihole | [i] Existing logrotate file found. No changes made. pihole | [i] Pre existing WEBPASSWORD found pihole | [i] Added ENV to php: pihole | "TZ" => "Europe/Berlin", pihole | "PIHOLE_DOCKER_TAG" => "", pihole | "PHP_ERROR_LOG" => "/var/log/lighttpd/error-pihole.log", pihole | "CORS_HOSTS" => "", pihole | "VIRTUAL_HOST" => "0.0.0.0", pihole | [i] Using IPv4 and IPv6 pihole | [i] Preexisting ad list /etc/pihole/adlists.list detected (exiting setup_blocklists early) pihole | [i] Existing DNS servers detected in setupVars.conf. Leaving them alone pihole | [i] Applying pihole-FTL.conf setting LOCAL_IPV4=0.0.0.0 pihole | [i] FTL binding to default interface: eth0 pihole | [i] Enabling Query Logging pihole | [i] Testing lighttpd config: Syntax OK pihole | [i] All config checks passed, cleared for startup ... pihole | [i] Docker start setup complete pihole | pihole | [i] pihole-FTL (no-daemon) will be started as pihole pihole | pihole | s6-rc: info: service _startup successfully started pihole | s6-rc: info: service pihole-FTL: starting pihole | s6-rc: info: service pihole-FTL successfully started pihole | s6-rc: info: service lighttpd: starting pihole | s6-rc: info: service lighttpd successfully started pihole | s6-rc: info: service _postFTL: starting pihole | s6-rc: info: service _postFTL successfully started pihole | Checking if custom gravity.db is set in /etc/pihole/pihole-FTL.conf pihole | s6-rc: info: service legacy-services: starting pihole | s6-rc: info: service legacy-services successfully started pihole | [i] Neutrino emissions detected... [โ] Pulling blocklist source list into range pihole | [โ] Preparing new gravity database pihole | [i] Using libz compression pihole | pihole | [i] Target: https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts pihole | [i] Status: Pending...2023-01-18 22:41:54: fdevent.c.1150) fdevent_load_file() /etc/letsencrypt/fullchain.pem: No such file or directory pihole | 2023-01-18 22:41:54: server.c.1244) Initialization of plugins failed. Going down. pihole | Stopping lighttpd pihole | lighttpd: no process found [โ] Status: Retrieval successful pihole | [i] Analyzed 168834 domains, 15 domains invalid! pihole | Sample of invalid domains: pihole | - 0.0.0.0 pihole | - broadcasthost pihole | - fe pihole | - ff pihole | [i] List stayed unchanged pihole | [โ] Creating new gravity databases [โ] Storing downloaded domains in new gravity database [โ] Building tree [โ] Swapping databases pihole | [โ] The old database remains available. pihole | [i] Number of gravity domains: 168819 (168819 unique domains) pihole | [i] Number of exact blacklisted domains: 0 pihole | [i] Number of regex blacklist filters: 0 pihole | [i] Number of exact whitelisted domains: 0 pihole | [i] Number of regex whitelist filters: 0 pihole | 2023-01-18 22:41:55: fdevent.c.1150) fdevent_load_file() /etc/letsencrypt/fullchain.pem: No such file or directory pihole | 2023-01-18 22:41:55: server.c.1244) Initialization of plugins failed. Going down. pihole | [i] Cleaning up stray matter...Stopping lighttpd [โ] Cleaning up stray matter pihole | lighttpd: no process found pihole | pihole | [โ] FTL is listening on port 53 pihole | [โ] UDP (IPv4) pihole | [โ] TCP (IPv4) pihole | [โ] UDP (IPv6) pihole | [โ] TCP (IPv6) pihole | pihole | [โ] Pi-hole blocking is enabled pihole | pihole | 2023-01-18 22:41:56: fdevent.c.1150) fdevent_load_file() /etc/letsencrypt/fullchain.pem: No such file or directory pihole | 2023-01-18 22:41:56: server.c.1244) Initialization of plugins failed. Going down. pihole | Stopping lighttpd pihole | lighttpd: no process found pihole | Pi-hole version is v5.15 (Latest: v5.15) pihole | AdminLTE version is v5.18.1 (Latest: v5.18.1) pihole | FTL version is v5.20.1 (Latest: v5.20.1) pihole | Container tag is: 2023.1 pihole | pihole | 2023-01-18 22:41:57: fdevent.c.1150) fdevent_load_file() /etc/letsencrypt/fullchain.pem: No such file or directory pihole | 2023-01-18 22:41:57: server.c.1244) Initialization of plugins failed. Going down. pihole | Stopping lighttpd pihole | lighttpd: no process found
HOWEVER... I can reproduce the error if I attempt to mount the file without it existing on my host machine. Note in the file listing on the left that docker compose has created it as a directory.....
It's the VIRTUAL_HOST
environment variable. If you haven't got it set (which neither of you have) it will fail. It's a bug on this side. For now you can set VIRTUAL_HOST
to something - but I will push a fix shortly.
@thomasmerz , @labodj can you both try the :dev
tag and let me know if that resolves the problem please?
Member
No error with latest dev build
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service cron: starting
s6-rc: info: service cron successfully started
s6-rc: info: service _uid-gid-changer: starting
s6-rc: info: service _uid-gid-changer successfully started
s6-rc: info: service _startup: starting
[i] Starting docker specific checks & setup for docker pihole/pihole
[i] Setting capabilities on pihole-FTL where possible
[i] Applying the following caps to pihole-FTL:
* CAP_CHOWN
* CAP_NET_BIND_SERVICE
* CAP_NET_RAW
[i] Ensuring basic configuration by re-running select functions from basic-install.sh
[i] Installing configs from /etc/.pihole...
[i] Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
[i] Installing /etc/dnsmasq.d/01-pihole.conf...
[โ] Installed /etc/dnsmasq.d/01-pihole.conf
[i] Installing /etc/.pihole/advanced/06-rfc6761.conf...
[โ] Installed /etc/dnsmasq.d/06-rfc6761.conf
[i] Installing latest logrotate script...
[i] Existing logrotate file found. No changes made.
[i] Custom WEB_PORT set to 8084
[i] Without proper router DNAT forwarding to 192.168.21.20:8084, you may not get any blocked websites on ads
[i] Assigning password defined by Environment Variable
[โ] New password set
[i] Setting Web Theme based on WEBTHEME variable, using value default-darker
[โ] Set temperature unit to C
[i] Added ENV to php:
"TZ" => "Europe/Rome",
"PIHOLE_DOCKER_TAG" => "",
"PHP_ERROR_LOG" => "/var/log/lighttpd/error-pihole.log",
"CORS_HOSTS" => "",
"VIRTUAL_HOST" => "rasp1",
[i] Using IPv4
[i] Preexisting ad list /etc/pihole/adlists.list detected (exiting setup_blocklists early)
[i] Setting DNS servers based on PIHOLE_DNS_ variable
[i] Applying pihole-FTL.conf setting LOCAL_IPV4=192.168.21.20
[i] Applying pihole-FTL.conf setting RATE_LIMIT=0/0
[i] FTL binding to default interface: eth0
[i] Enabling Query Logging
[i] Testing lighttpd config: Syntax OK
[i] All config checks passed, cleared for startup ...
[i] Docker start setup complete
[i] pihole-FTL (no-daemon) will be started as pihole
s6-rc: info: service _startup successfully started
s6-rc: info: service pihole-FTL: starting
s6-rc: info: service pihole-FTL successfully started
s6-rc: info: service lighttpd: starting
s6-rc: info: service lighttpd successfully started
s6-rc: info: service _postFTL: starting
s6-rc: info: service _postFTL successfully started
s6-rc: info: service legacy-services: starting
Checking if custom gravity.db is set in /etc/pihole/pihole-FTL.conf
s6-rc: info: service legacy-services successfully started
[i] Neutrino emissions detected...
[โ] Pulling blocklist source list into range
[i] Preparing new gravity database...
[โ] Preparing new gravity database
[i] Using libz compression
[i] Target: https://dbl.oisd.nl/
[i] Status: Pending...
[โ] Status: Retrieval successful
[i] Analyzed 957894 domains
[i] List has been updated
[i] Creating new gravity databases...
[โ] Creating new gravity databases
[i] Storing downloaded domains in new gravity database...
[โ] Storing downloaded domains in new gravity database
[i] Building tree...
[โ] Building tree
[i] Swapping databases...
[โ] Swapping databases
[โ] The old database remains available.
[i] Number of gravity domains: 957894 (957894 unique domains)
[i] Number of exact blacklisted domains: 0
[i] Number of regex blacklist filters: 0
[i] Number of exact whitelisted domains: 0
[i] Number of regex whitelist filters: 0
[i] Cleaning up stray matter...
[โ] Cleaning up stray matter
[โ] FTL is listening on port 53
[โ] UDP (IPv4)
[โ] TCP (IPv4)
[โ] UDP (IPv6)
[โ] TCP (IPv6)
[โ] Pi-hole blocking is enabled
Pi-hole version is v5.15 (Latest: v5.15)
AdminLTE version is v5.18.1 (Latest: v5.18.1)
FTL version is v5.20.1 (Latest: v5.20.1)
Container tag is: dev
No error with Docker Tag 2023.01.3 ๐๐ผ Will close this issue. Thanks a lot @PromoFaux
This is a: BUG
Details
Have you seen this already? Everything seems working fine, but this feels like something might be wrong:
There's no
url.redirect
in my/etc/lighttpd/conf-enabled/20-external.conf
.Related Issues
How to reproduce the issue
docker logs pihole >/dev/null
or this (how I found it "by accident"):