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?