Nginx proxy_pass всегда возвращает index.html

Есть Nginx работающий как прокси к doker контейнерам. По location определяет на какой контейнер перекинуть запрос. Конфиг выглядит так:

http {

    include mime.types;

    server {

        listen 80 default_server;
        listen [::]:80 default_server;

        server_name mydomain.io;

        location / {
            proxy_pass http://127.0.0.1:4200$request_uri;
            proxy_set_header Host $host;
        }

        location /api/ {
            proxy_pass http://127.0.0.1:8080$request_uri;
            proxy_set_header Host $host;
        }

        location /landing/ {
            proxy_pass http://127.0.0.1:3333$request_uri;
            proxy_set_header Host $host;
        }
    }
}

На корне / висит фронт на Angular, на /api/ соответственно API. Первые 2 location работают верно. И все статические файлы Angular возвращаются корректно.

Но отдельный лэндинг /landing/ при запросе всегда возвращает index.html при запросе CSS и JS файлов. И на картинки тоже его отдает. Сам лэндинг (просто статический сайт) тоже висит в контейнере вот таком:

FROM nginx

COPY content/ usr/share/nginx/html
COPY nginx.conf /etc/nginx

С конфигом:

http {

    include mime.types;

    server {

        listen 3333;

        server_name ***********;

        root /usr/share/nginx/html;

        location / {
            try_files $uri $uri/ /index.html;
        }
    }
}

В случае если запрос идет мимо прокси, напрямую к контейнеру, http://myip:3333, все статические файлы отдаются корректно, и сайт отображается правильно, но стоит зайти через прокси, и возвращается страница без стилей, изображений и скриптов. А если посмотреть что вернулось вместо style.css то там опять index.html.

Возможно проблема в том как подключены файлы?

landing
    index.html
    css/style.css
    fonts/DINNextW01-Light.woff
    img/chart.png
    js/main.js

<link rel="stylesheet" href="./css/style.css">

<img src="./img/chart.png" alt="Chart">

<body>
    ...
    <script src="./js/main.js"></script>
</body>

@font-face {
  src: url("../fonts/DINNextW01-Light.woff2") format("woff2"), url("../fonts/DINNextW01-Light.woff") format("woff");
}

Подскажите в чем ошибка. Как мне сконфигурировать прокси что бы он отдавал не только index.html?


Ответы (0 шт):