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.
@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.
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.
@Need: wszystko jasne. Pozwól że jeszcze wyjaśnie skąd ten błąd się wziął i zaproponuję moim zdaniem czytelniejsze rozwiązanie. Wkleje to w obrazku bo wykop myśli że próbuje go zhackować jak wklejam tu regexpy
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.
źródło: comment_1667073764RQRMG6feRVUcPIc4WGg1pX.jpg
PobierzJuż szukałem w googlu trochę, ale średnio znalazłem odpowiedzi, pewnie ten rewrite-target jest namieszany, ale za bardzo nie umiem tego naprawić.
samo coś tam, ale na dockerze robiłem rewrite z api właśnie
1. Pokaż output z
curl -i http://ctftastic/api/lub z innego urla ktore Ci te 403 zwraca2. Sprawdź czy ruch zatrzymuje sie na nginx, czy idzie dochodzi do poda. Wejdź do poda, zainstaluj tcpdump, odpal
tcpdump -i any -n Ai zobacz czy jak robisz request, to widzisz go w zrzuconym ruchu.źródło: comment_1667131870P4DLKYy5IcBj1vOvhKKQ91.jpg
Pobierzczyli tutaj wynika jakby requesty dochodziły do tego poda, ale z jakiegoś powodu je odrzuca
źródło: comment_1667131887Zt43BI1VpORKZjfjC8FgyK.jpg
PobierzNa 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
Faktycznie działa, ale teraz nie mogę się na frontend dobić jak ten rewrite-target jest inny niż "/" ( ͡° ʖ̯ ͡°)
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.
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
dzięki wielkie za pomoc
źródło: comment_1667147427gRaCESpIpNiKtQfHO9DNxs.jpg
PobierzSuper, dzięki wielkie za wyjaśnienie, wszystko jasne, użyję Twojego rozwiązania. Dzięki jeszcze raz za pomoc.