Wpis z mikrobloga

#kubernetes #k8s #devops #programowanie

Ma ktoś pomysł czemu jak na Minikube ustawiłem se ingress i robię zapytania z poda z frontem na API na backendzie to dostaje na pysk 403 ? (zapytania też kieruje na taki adres jak jest nginx wystawiony) Kombinuje jak to obejść, ale kończą mi się pomysły, czy może wdupić frontend i backend w jednego poda i wtedy callować api po localhoście?

W logach na backendzie nic nie widać, w logach nginxa niby dobija do serwisu od deploymentu backendu, ale no też za bardzo to nie pomaga. Z poda normalnie mogę curla zrobić na serwis backendowy i śmiga.
  • 17
@Need: ten 403 jest z nginx czy z Twojej aplikacji?

1. Pokaż output z curl -i http://ctftastic/api/ lub z innego urla ktore Ci te 403 zwraca
2. Sprawdź czy ruch zatrzymuje sie na nginx, czy idzie dochodzi do poda. Wejdź do poda, zainstaluj tcpdump, odpal tcpdump -i any -n A i zobacz czy jak robisz request, to widzisz go w zrzuconym ruchu.
@Need: ten curl co wkleiles to spod windowsa jest, nie umywa się do prawdziwego curla, nie da się nim tego przetestować.

Na szczęście tcpdump nam pokazał że ingress działa.

To co zauważyłem w zrzuconym ruchu, to podwójny / - być może Twój pod nie jest w stanie go zinterpretować.

Faktycznie adnotacja w definicji ingressa jest błędna.
Zmień linię:

[https://nginx.ingress.kubernetes.io/rewrite-target:](https://nginx.ingress.kubernetes.io/rewrite-target:) /$1
na

[https://nginx.ingress.kubernetes.io/rewrite-target:](https://nginx.ingress.kubernetes.io/rewrite-target:) /$2
@Need: nie rozumiem. Jaki request Ci nie działa? Czy ten pod na którym odpalałeś tcpdumpa to właśnie frontend, czy frontend jest gdzieś indziej?
@malpi:

okej, obszedłem ten problem dodając do patha dla frontendu takie dodatki /()(.*), z tego co szukałem możnaby jeszcze dodać suchy config nginxowy w adnotacji dla danego patha.
@malpi:

Nie, nie działał mi backend i na frontendzie nie fetchowało danych gdy miałem rewrite-target: /

po zmianie na /$2 nie mogłem się dobić do frontendu (pusta strona), ale po zmianie patha z / na /()(.*) już działa