124 行
3.6 KiB
YAML
124 行
3.6 KiB
YAML
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: cdn
|
|
namespace: infra-net
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
nginx.ingress.kubernetes.io/rewrite-target: "/$3"
|
|
# 重定向配置
|
|
nginx.ingress.kubernetes.io/proxy-redirect-from: "/"
|
|
nginx.ingress.kubernetes.io/proxy-redirect-to: "/$1/"
|
|
# 添加允许跨域请求
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/cors-allow-origin: "https://dev.cm, https://*.dev.cm, https://fillcode.cm, https://*.fillcode.cm"
|
|
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
|
|
# cookie配置
|
|
nginx.ingress.kubernetes.io/proxy-cookie-domain: "~^(.+)$ cdn.fillcode.com"
|
|
nginx.ingress.kubernetes.io/proxy-cookie-path: "/ /$1"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
proxy_cookie_flags ~ SameSite=None Secure;
|
|
spec:
|
|
ingressClassName: nginx
|
|
rules:
|
|
- host: cdn.fillcode.com
|
|
http:
|
|
paths:
|
|
- path: /(dev-cm)(/|$)(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: cdn-halo
|
|
port:
|
|
number: 80
|
|
- path: /(git-dev-cm)(/|$)(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: cdn-gitea-http
|
|
port:
|
|
number: 3000
|
|
- path: /(monitor-dev-cm)(/|$)(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: cdn-prometheus-grafana
|
|
port:
|
|
number: 80
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: cdn-fallback
|
|
namespace: infra-net
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/use-regex: "true"
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/cors-allow-origin: "https://dev.cm, https://*.dev.cm, https://fillcode.cm, https://*.fillcode.cm"
|
|
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
set_by_lua_block $cdn_redirect_prefix {
|
|
if ngx.var.request_method ~= "GET" and ngx.var.request_method ~= "HEAD" then return "" end
|
|
|
|
local source = ngx.var.http_origin
|
|
if not source or source == "" then source = ngx.var.http_referer end
|
|
|
|
local host = source and source:match("^https?://([^/:]+)")
|
|
if not host or host:lower() == ngx.var.host then return "" end
|
|
|
|
local prefix = "/" .. (host:lower():gsub("%.", "-"))
|
|
local uri = ngx.var.uri
|
|
if uri == prefix or uri:sub(1, #prefix + 1) == prefix .. "/" then return "" end
|
|
|
|
return prefix
|
|
}
|
|
add_header Cache-Control "no-store" always;
|
|
if ($cdn_redirect_prefix != "") {
|
|
return 302 https://$host$cdn_redirect_prefix$request_uri;
|
|
}
|
|
spec:
|
|
ingressClassName: nginx
|
|
rules:
|
|
- host: cdn.fillcode.com
|
|
http:
|
|
paths:
|
|
- path: /(.*)
|
|
pathType: ImplementationSpecific
|
|
backend:
|
|
service:
|
|
name: ingress-nginx-defaultbackend
|
|
port:
|
|
number: 80
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: cdn-halo
|
|
namespace: infra-net
|
|
spec:
|
|
type: ExternalName
|
|
externalName: halo.apps.svc.cluster.local
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: cdn-gitea-http
|
|
namespace: infra-net
|
|
spec:
|
|
type: ExternalName
|
|
externalName: gitea-http.infra-gitops.svc.cluster.local
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: cdn-prometheus-grafana
|
|
namespace: infra-net
|
|
spec:
|
|
type: ExternalName
|
|
externalName: prometheus-grafana.infra-monitor.svc.cluster.local
|