91 lines
2.0 KiB
YAML
91 lines
2.0 KiB
YAML
# Kevisual - kevisual.cn (支持 WebSocket)
|
|
---
|
|
# WebSocket 支持中间件 - 完整头部配置
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: websocket-headers
|
|
namespace: default
|
|
spec:
|
|
headers:
|
|
customRequestHeaders:
|
|
X-Forwarded-Proto: "https"
|
|
X-Real-IP: ""
|
|
X-Forwarded-For: ""
|
|
X-Forwarded-Host: ""
|
|
---
|
|
# ServersTransport 配置 - 支持长连接
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: ServersTransport
|
|
metadata:
|
|
name: websocket-transport
|
|
namespace: default
|
|
spec:
|
|
serverName: ""
|
|
insecureSkipVerify: true
|
|
maxIdleConnsPerHost: 100
|
|
forwardingTimeouts:
|
|
dialTimeout: 30s
|
|
responseHeaderTimeout: 30s
|
|
idleConnTimeout: 90s
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: kevisual-https
|
|
namespace: default
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`kevisual.cn`)
|
|
kind: Rule
|
|
services:
|
|
- name: kevisual-external
|
|
port: 3005
|
|
serversTransport: websocket-transport
|
|
middlewares:
|
|
- name: websocket-headers
|
|
tls:
|
|
certResolver: letsencrypt
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: www-kevisual-https
|
|
namespace: default
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`www.kevisual.cn`)
|
|
kind: Rule
|
|
services:
|
|
- name: kevisual-external
|
|
port: 3005
|
|
serversTransport: websocket-transport
|
|
middlewares:
|
|
- name: websocket-headers
|
|
tls:
|
|
certResolver: letsencrypt
|
|
---
|
|
# 通配符子域名支持 *.kevisual.cn (兜底规则)
|
|
# apiVersion: traefik.io/v1alpha1
|
|
# kind: IngressRoute
|
|
# metadata:
|
|
# name: wildcard-kevisual-https
|
|
# namespace: default
|
|
# spec:
|
|
# entryPoints:
|
|
# - websecure
|
|
# routes:
|
|
# - match: HostRegexp(`^[a-zA-Z0-9-]+\.kevisual\.cn$`)
|
|
# kind: Rule
|
|
# services:
|
|
# - name: kevisual-external
|
|
# port: 3005
|
|
# serversTransport: websocket-transport
|
|
# middlewares:
|
|
# - name: websocket-headers
|
|
# tls:
|
|
# certResolver: letsencrypt |