====== Snippets ====== Includy do konfigurací aby nebylo třeba vypisovat stejná data pořád dokola. Pro snažší identifikaci si je uložíme do **/etc/lighttpd/snippets/**. ===== example.com-certs.conf ===== Include které se stará o načtení certifikátu Let's Encrypt pro každý web. $SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/etc/dehydrated/certs/example.com/fullcert.pem" ssl.ca-file = "/etc/dehydrated/certs/example.com/fullchain.pem" #Disabled during compile time #ssl.use-compression = "disable" # Environment flag for HTTPS enabled setenv.add-environment = ( "HTTPS" => "on" ) # modern configuration, tweak to your needs # Generated by: https://mozilla.github.io/server-side-tls/ssl-config-generator/ ssl.disable-client-renegotiation = "enable" # ECDH/ECDHE ciphers curve strength (see `openssl ecparam -list_curves`) ssl.ec-curve = "secp384r1" ssl.use-sslv2 = "disable" ssl.use-sslv3 = "disable" ssl.honor-cipher-order = "enable" ssl.cipher-list = "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256" } ===== http-to-https.conf ===== Include které se stará o přesměrování HTTP na HTTPS mimo ověření certifikátu Let's Encrypt pro všechny weby. #Redirect all to HTTPS #debug.log-request-handling = "enable" #debug.log-file-not-found = "enable" # match all unencrypted traffic ... $HTTP["scheme"] == "http" { # but not the letsencrypt webroot ... $HTTP["url"] !~ "^/\.well-known" { # and redirect as described on https://redmine.lighttpd.net/projects/lighttpd/wiki/HowToRedirectHttpToHttps # capture vhost name with regex conditiona -> %0 in redirect pattern # must be the most inner block to the redirect rule $HTTP["host"] =~ ".*" { url.redirect = ( ".*" => "https://%0$0" ) } } } alias.url += ( "/.well-known/" => "/var/www/dehydrated/.well-known/" )