Project

General

Profile

[Solved] Lighttpd segfaults in mod_openssl.so (=> misconfigured lighttpd.conf)

Added by lunix over 2 years ago

Hi,
after upgrade to Debian 11 I'm seeing this issue with lighttpd:

Oct 9 17:01:06 fpvps kernel: [4330866.404149] lighttpd2775516: segfault at 8 ip 00007f8e65cc2a9a sp 00007ffce2ff9940 error 4 in mod_openssl.so[7f8e65cc0000+6000]
Oct 9 18:27:02 fpvps kernel: [4336022.486036] lighttpd2775526: segfault at 8 ip 00007f1b5c59ca9a sp 00007ffd4c3f2bc0 error 4 in mod_openssl.so[7f1b5c59a000+6000]
Oct 9 19:01:17 fpvps kernel: [4338077.660337] lighttpd2778497: segfault at 8 ip 00007f71bfdefa9a sp 00007ffe3bc538c0 error 4 in mod_openssl.so[7f71bfded000+6000]
Oct 9 19:18:58 fpvps kernel: [4339138.813449] lighttpd2779625: segfault at 8 ip 00007f5d37e05a9a sp 00007ffe52c09090 error 4 in mod_openssl.so[7f5d37e03000+6000]
Oct 9 19:47:08 fpvps kernel: [4340828.250385] lighttpd2780253: segfault at 8 ip 00007fb51a22ca9a sp 00007fff8dc7d000 error 4 in mod_openssl.so[7fb51a22a000+6000]

The webserver is actually mostly working as it get auto restarted - the load is very low, so I won't notice the occassional restarts (approx 0.5x-5x per hour). The only thing which bothers me so far is it stops working once in a few days and I have to give it manual start, the above might be related to it, however I'm not completely sure, it's the only issue I've discovered so far.

Full log from such an event looks like this:

Oct 9 19:47:08 fpvps kernel: [4340828.250385] lighttpd2780253: segfault at 8 ip 00007fb51a22ca9a sp 00007fff8dc7d000 error 4 in mod_openssl.so[7fb51a22a000+6000]
Oct 9 19:47:08 fpvps systemd1: lighttpd.service: Main process exited, code=killed, status=11/SEGV
Oct 9 19:47:08 fpvps systemd1: lighttpd.service: Failed with result 'signal'.
Oct 9 19:47:08 fpvps systemd1: lighttpd.service: Scheduled restart job, restart counter is at 37.

Would you please advice what to check to nail this down? Below is my config.

Thanks,
Pavel

root@fpvps:~# lighttpd -v
lighttpd/1.4.59 (ssl) - a light and fast webserver

root@fpvps:~# lighttpd -tt -f /etc/lighttpd/lighttpd.conf
root@fpvps:~# lighttpd -p -f /etc/lighttpd/lighttpd.conf
config {
var.PID = 2795505
var.CWD = "/root" 
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" 
accesslog.filename = "/var/log/lighttpd/access.log" 
server.errorlog = "/var/log/lighttpd/error.log" 
server.pid-file = "/var/run/lighttpd.pid" 
server.username = "www-data" 
server.groupname = "www-data" 
server.port = 80
server.breakagelog = "/var/log/lighttpd/breakage.log" 
index-file.names = ("index.php", "index.html", "index.lighttpd.html")
url.access-deny = ("~", ".inc")
static-file.exclude-extensions = (".php", ".pl", ".fcgi", ".cgi")
deflate.cache-dir = "/var/cache/lighttpd/compress/" 
deflate.mimetypes = ("application/javascript", "text/css", "text/html", "text/plain")
server.modules = (
"mod_access",
"mod_alias",
"mod_deflate",
"mod_redirect",
"mod_rewrite",
"mod_accesslog",
"mod_setenv",
"mod_openssl",
"mod_authn_file",
"mod_auth",
"mod_cgi",
"mod_fastcgi", # 12
)
fastcgi.server = (
".php" => (
(
"socket" => "/var/run/php/php7.4-fpm.sock",
"broken-scriptfilename" => "enable", # 2
),
),
)
alias.url = (
"/dokuwiki" => "/usr/share/dokuwiki",
"/javascript" => "/usr/share/javascript", # 2
)
ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH" 
ssl.dh-file = "/etc/ssl/certs/dhparam.pem" 
ssl.ec-curve = "secp384r1" 

$SERVER["socket"]  "[::]:80" {
    # block 1
} # end of $SERVER["socket"]  "[::]:80" 
$HTTP["url"] =~ "^/cgi-bin/" {
    # block 2
        cgi.assign = (
            "" => "",
        )
        alias.url  = (
            "/cgi-bin/" => "/usr/lib/cgi-bin/",
        )
} # end of $HTTP["url"] =~ "^/cgi-bin/" 
$HTTP["url"] =~ "^/dokuwiki" {
    # block 3
        server.follow-symlink = "enable" 
} # end of $HTTP["url"] =~ "^/dokuwiki" 
$HTTP["url"] =~ "/(\.|_)ht" {
    # block 4
        url.access-deny = ("")
} # end of $HTTP["url"] =~ "/(\.|_)ht" 
$HTTP["url"] =~ "^/dokuwiki/(bin|data|inc|conf)" {
    # block 5
        url.access-deny = ("")
} # end of $HTTP["url"] =~ "^/dokuwiki/(bin|data|inc|conf)" 
$HTTP["scheme"] == "https" {
    # block 6
        setenv.add-response-header = (
            "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; ",
        )
} # end of $HTTP["scheme"] == "https" 
$HTTP["host"] =~ "(^|\.)example\.com$" {
    # block 7
$HTTP["scheme"] == "http" {
    # block 8
$HTTP["host"] =~ ".*" {
    # block 9
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 10
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/example.com/chain.pem" 
            server.name              = "example.com" 
            server.document-root     = "/var/www/example.com" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
    } # end of $HTTP["host"] =~ "(^|\.)example\.com$" 
$HTTP["host"] =~ "(^|\.)www.example\.com$" {
    # block 11
$HTTP["scheme"] == "http" {
    # block 12
$HTTP["host"] =~ ".*" {
    # block 13
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 14
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/www.example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/www.example.com/chain.pem" 
            server.name              = "www.example.com" 
            server.document-root     = "/var/www/www.example.com" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
    } # end of $HTTP["host"] =~ "(^|\.)www.example\.com$" 
$HTTP["host"] =~ "(^|\.)miriam.example\.com$" {
    # block 15
$HTTP["scheme"] == "http" {
    # block 16
$HTTP["host"] =~ ".*" {
    # block 17
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 18
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/miriam.example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/miriam.example.com/chain.pem" 
            server.name              = "miriam.example.com" 
            server.document-root     = "/var/www/miriam.example.com" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
    } # end of $HTTP["host"] =~ "(^|\.)miriam.example\.com$" 
$HTTP["host"] =~ "(^|\.)storage.example\.com$" {
    # block 19
        dir-listing.activate = "enable" 
$HTTP["scheme"] == "http" {
    # block 20
$HTTP["host"] =~ ".*" {
    # block 21
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 22
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/storage.example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/storage.example.com/chain.pem" 
            server.name              = "storage.example.com" 
            server.document-root     = "/var/www/storage.example.com" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
    } # end of $HTTP["host"] =~ "(^|\.)storage.example\.com$" 
$HTTP["host"] =~ "(^|\.)pujcovna.example\.com$" {
    # block 23
        auth.backend                = "plain" 
        auth.backend.plain.userfile = "/etc/lighttpd/htpasswd" 
        auth.require                = (
            "/" => (
                "method"  => "basic",
                "realm"   => "Password protected area",
                "require" => "user=example",
            # 3
            ),
        )
        server.follow-symlink       = "enable" 
$HTTP["scheme"] == "http" {
    # block 24
$HTTP["host"] =~ ".*" {
    # block 25
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 26
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/pujcovna.example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/pujcovna.example.com/chain.pem" 
            server.name              = "pujcovna.example.com" 
            server.document-root     = "/usr/share/dokuwiki" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
$HTTP["url"] =~ "/(\.|_)ht" {
    # block 27
            url.access-deny = ("")
} # end of $HTTP["url"] =~ "/(\.|_)ht" 
$HTTP["url"] =~ "^/(bin|data|inc|conf)" {
    # block 28
            url.access-deny = ("")
} # end of $HTTP["url"] =~ "^/(bin|data|inc|conf)" 
    } # end of $HTTP["host"] =~ "(^|\.)pujcovna.example\.com$" 
$HTTP["host"] =~ "(^|\.)energie.example\.com$" {
    # block 29
        auth.backend                = "plain" 
        auth.backend.plain.userfile = "/etc/lighttpd/htpasswd" 
        auth.require                = (
            "/" => (
                "method"  => "basic",
                "realm"   => "Password protected area",
                "require" => "user=lunix",
            # 3
            ),
        )
        server.follow-symlink       = "enable" 
$HTTP["scheme"] == "http" {
    # block 30
$HTTP["host"] =~ ".*" {
    # block 31
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 32
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/energie.example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/energie.example.com/chain.pem" 
            server.name              = "energie.example.com" 
            server.document-root     = "/usr/share/dokuwiki" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
$HTTP["url"] =~ "/(\.|_)ht" {
    # block 33
            url.access-deny = ("")
} # end of $HTTP["url"] =~ "/(\.|_)ht" 
$HTTP["url"] =~ "^/(bin|data|inc|conf)" {
    # block 34
            url.access-deny = ("")
} # end of $HTTP["url"] =~ "^/(bin|data|inc|conf)" 
    } # end of $HTTP["host"] =~ "(^|\.)energie.example\.com$" 
$HTTP["host"] =~ "(^|\.)zabbix.example\.com$" {
    # block 35
$HTTP["scheme"] == "http" {
    # block 36
$HTTP["host"] =~ ".*" {
    # block 37
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 38
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/zabbix.example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/zabbix.example.com/chain.pem" 
            server.name              = "zabbix.example.com" 
            server.document-root     = "/usr/share/zabbix" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
    } # end of $HTTP["host"] =~ "(^|\.)zabbix.example\.com$" 
$HTTP["host"] =~ "(^|\.)graphs.example\.com$" {
    # block 39
        auth.backend                = "plain" 
        auth.backend.plain.userfile = "/etc/lighttpd/htpasswd" 
        auth.require                = (
            "/" => (
                "method"  => "basic",
                "realm"   => "Password protected area",
                "require" => "user=lunix|user=jfk",
            # 3
            ),
        )
        server.follow-symlink       = "enable" 
$HTTP["scheme"] == "http" {
    # block 40
$HTTP["host"] =~ ".*" {
    # block 41
                url.redirect = (
                    ".*" => "https://%0$0",
                )
} # end of $HTTP["host"] =~ ".*" 
        } # end of $HTTP["scheme"]  "http" 
$SERVER["socket"]  ":443" {
    # block 42
            ssl.engine               = "enable" 
            ssl.pemfile              = "/etc/letsencrypt/live/graphs.example.com/web.pem" 
            ssl.ca-file              = "/etc/letsencrypt/live/graphs.example.com/chain.pem" 
            server.name              = "graphs.example.com" 
            server.document-root     = "/var/www/graphs.example.com" 
            server.error-handler-404 = "/e404.php" 
} # end of $SERVER["socket"] == ":443" 
    } # end of $HTTP["host"] =~ "(^|\.)graphs.example\.com$" 
}

Replies (3)

RE: Lighttpd segfaults in mod_openssl.so - Added by gstrauss over 2 years ago

It is an error to put $SERVER["socket"] inside other conditions, and this is the likely source of the crash when something connects to port 443 via IP address and does not provide TLS SNI.
Please see lighttpd TLS docs.

$SERVER["socket"] conditions must be in the global scope and must define a default certificate for the socket. (The crash is when lighttpd does not have a default certificate defined in the (incorrect) config, and someone has connected to the IP and port 443.)

RE: [Solved] Lighttpd segfaults in mod_openssl.so (=> misconfigured lighttpd.conf) - Added by lunix over 2 years ago

I've converted to this format and used one of the site certificates for SNI / global section.

$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/lighttpd/ssl/the-default-domain.com.pem"
$HTTP["host"] == "www.example.org" {
ssl.pemfile = "/etc/lighttpd/www.example.org.pem"
}
$HTTP["host"] == "mail.example.org" {
ssl.pemfile = "/etc/lighttpd/mail.example.org.pem"
}
}

.. and so far all good. For some reason I've been using the wrong config for years without (noticing) issues until now.

Thanks!

RE: [Solved] Lighttpd segfaults in mod_openssl.so (=> misconfigured lighttpd.conf) - Added by gstrauss over 2 years ago

Glad things are working better for you. lighttpd 1.4.56 revamped TLS modules to use more modern openssl APIs. In doing so, older misconfigurations which were failing silently in some ways, now crashed. lighttpd 1.4.60 issues error trace at startup if this misconfiguration is detected, and does not crash. Trace is issued at runtime if a certificate is not available (but should be).

    (1-3/3)