Ogólnie tam źle po konfigurowałeś z tego ostatniego zdjęcia, jeśli frontend masz jak SPA, to możesz nginx możesz pod
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 80;
location /api/ {
proxy_pass http://restapi:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
root /usr/share/nginx/html;
# index index.html index.htm index.php;
}
}
}
I teraz jak miałeś normalnie adres,
backend/api/weather
To external_ip/api/weather
da ci tą pogodę z backendu.
Wszystko co będzie zaczynać się z external_ip/api
to tam przekieruje.
A jak zrobisz external_ip/, to dostaniesz statyczny plik index.html, który jest w lokalizacji /usr/share/nginx/html;
Ewentualnie zamiast root i ścieżka do statycznych plików, możesz też dać takie same proxy jak przy backend, ale pod frontend, który to on będzie zajmował się static file serving.
Backend będzie działał tylko jeśli zaczyna się przy /api/
ścieżce
Kolejny problem to jak zbudujesz obrazy i potem wyedytujesz pliki to musisz od nowa zbudować, bo może ci poprzednio zbudowany użyć z repozytorium.
I jak korzystasz ze standardowej konfiguracji z nginx to ona ci może nadpisywać twoje ustawienia.
Więc musisz uwzględnić zawartość tych wszystkich innych plików co includujesz, po prostu możesz je otworzyć i zobaczyć jakie ustawienia są tam.
Sprawdzałem jeszcze raz sobie na nginx, z reactem i restapi w springu i adresy w springu miałem /api/costam
/api/cosinnego
, wszystko śmigało i pod /
miałem statyczne pliki z reactem.
A ty tam na twoim obrazku źle ustawiłeś bo napisałeś location /some/path
a to nie może być losowy, a taki sam początek jaki jest w backend, czyli powinno być location /api