traefik: harden websecure defaults (crowdsec, headers, tls12)

This commit is contained in:
2026-02-07 02:15:13 +08:00
parent 2d7c788202
commit dc2c7f46ae
10 changed files with 90 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
http:
middlewares:
label-auth:
basicAuth:
# Keep actual user hashes out of git.
usersFile: /secrets/label.htpasswd

View File

@@ -0,0 +1,12 @@
http:
middlewares:
secure-headers:
headers:
contentTypeNosniff: true
frameDeny: true
referrerPolicy: "strict-origin-when-cross-origin"
# Intentionally no HSTS (per requirement).
customResponseHeaders:
server: ""
x-powered-by: ""

View File

@@ -0,0 +1,18 @@
http:
routers:
label:
rule: Host(`label.gbanyan.net`)
entryPoints:
- websecure
tls:
certResolver: letsencrypt
middlewares:
- label-auth
service: label
services:
label:
loadBalancer:
passHostHeader: true
servers:
- url: "http://127.0.0.1:5004"

View File

@@ -0,0 +1,16 @@
http:
routers:
usher:
rule: Host(`member.usher.org.tw`)
entryPoints:
- websecure
tls:
certResolver: letsencrypt
service: usher
services:
usher:
loadBalancer:
passHostHeader: true
servers:
- url: "http://10.0.0.225:8000"

View File

@@ -0,0 +1,5 @@
tls:
options:
default:
minVersion: VersionTLS12

View File

@@ -5,3 +5,8 @@ http:
forwardingTimeouts:
idleConnTimeout: 30s
responseHeaderTimeout: 15s
gitea-upstreams:
maxIdleConnsPerHost: 64
forwardingTimeouts:
idleConnTimeout: 10m
responseHeaderTimeout: 10m