65 lines
1.2 KiB
YAML
65 lines
1.2 KiB
YAML
# services/vault/middleware.yaml
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: vault-security-headers
|
|
namespace: vault
|
|
spec:
|
|
headers:
|
|
contentTypeNosniff: true
|
|
frameDeny: true
|
|
referrerPolicy: no-referrer
|
|
permissionsPolicy: "camera=(), geolocation=(), microphone=(), payment=(), usb=()"
|
|
stsSeconds: 31536000
|
|
stsIncludeSubdomains: false
|
|
stsPreload: false
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: vault-response-cleanup
|
|
namespace: vault
|
|
spec:
|
|
headers:
|
|
customResponseHeaders:
|
|
Server: ""
|
|
X-Powered-By: ""
|
|
X-Vault-Cluster: ""
|
|
X-Vault-Namespace: ""
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: vault-edge-rate-limit
|
|
namespace: vault
|
|
spec:
|
|
rateLimit:
|
|
average: 120
|
|
burst: 240
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: vault-edge-inflight
|
|
namespace: vault
|
|
spec:
|
|
inFlightReq:
|
|
amount: 100
|
|
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: vault-public-chain
|
|
namespace: vault
|
|
spec:
|
|
chain:
|
|
middlewares:
|
|
- name: vault-edge-rate-limit
|
|
- name: vault-edge-inflight
|
|
- name: vault-response-cleanup
|
|
- name: vault-security-headers
|