plataforma: rotas internas dos servicos fechadas na borda (403); /api/configuracao, /api/cadastro e /api/financeiro fora do Ingress principal
This commit is contained in:
@@ -131,9 +131,6 @@ spec:
|
||||
- { path: /api/public/webhooks/asaas, pathType: Prefix, backend: { service: { name: servico-financeiro, port: { number: 80 } } } }
|
||||
|
||||
# O resto exige token, como em qualquer tenant.
|
||||
- { path: /api/configuracao, pathType: Prefix, backend: { service: { name: servico-configuracao, port: { number: 80 } } } }
|
||||
- { path: /api/cadastro, pathType: Prefix, backend: { service: { name: servico-cadastro, port: { number: 80 } } } }
|
||||
- { path: /api/financeiro, pathType: Prefix, backend: { service: { name: servico-financeiro, port: { number: 80 } } } }
|
||||
- { path: /bff, pathType: Prefix, backend: { service: { name: servico-bff, port: { number: 80 } } } }
|
||||
- { path: /, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
# 05/10/2026: as rotas INTERNAS dos servicos nao ficam na internet. O que a plataforma expoe e o BFF (/bff), o
|
||||
# captacao (/api/public/*, /api/cliente, /api/plataforma/painel) e o webhook do Asaas (/api/public/webhooks/asaas).
|
||||
# Antes, /api/configuracao, /api/cadastro e /api/financeiro iam direto aos servicos pelo Ingress principal, e o
|
||||
# nginx antigo do frontend-spa da plataforma (2.85) repassa TODOS os /api/<contexto> — por isso o bloqueio e aqui,
|
||||
# na borda: prefixo mais longo vence o "/" do frontend, e o middleware recusa qualquer origem (403).
|
||||
# Quem precisa falar com esses servicos usa o Service interno (CronJobs) ou (scripts de teste).
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: negar-api-interna
|
||||
namespace: plataforma-prod
|
||||
spec:
|
||||
ipAllowList:
|
||||
sourceRange: ["127.0.0.1/32"]
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: plataforma-api-fechada
|
||||
namespace: plataforma-prod
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.middlewares: plataforma-prod-redirect-https@kubernetescrd,plataforma-prod-negar-api-interna@kubernetescrd
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
tls:
|
||||
- hosts: [plataforma.athleticmap.com]
|
||||
secretName: plataforma-tls
|
||||
rules:
|
||||
- host: plataforma.athleticmap.com
|
||||
http:
|
||||
paths:
|
||||
- { path: /api/configuracao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/cadastro, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/organizacao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/documentos, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/agenda, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/retencao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/planejamento, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/campeonato, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/administrativo, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/financeiro, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/saude, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/nutricao, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/assistencia-social, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
- { path: /api/pedagogico, pathType: Prefix, backend: { service: { name: frontend-spa, port: { number: 80 } } } }
|
||||
Reference in New Issue
Block a user