Всем привет!
Запускается два angular приложения на одном сервере
Одно в корне, второе в sublocation
Общий файл nginx.conf
server {
listen 80;
# Docker DNS
resolver 127.0.0.11;
location / {
# hack to prevent nginx to resolve container's host on start up
set $docker_host "project-1";
proxy_pass http://$docker_host:4000;
}
location /project2 {
# hack to prevent nginx to resolve container's host on start up
set $docker_host "project-2";
proxy_pass http://$docker_host:4000;
}
}
Первое работает норме, второе пишет ошибку на сайте в консоли и не загружает скрипты (ошибка по всем 304)
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
Самое интересное, когда меняешь проекты местами, второй закидываешь в корень, а первый в sublocation, то второе теперь работает норм, а уже первое выбрасывает такую же ошибк
Angular приложения работают через docker compose на 4000 ssr порту, там все стандартно
FROM node:20-alpine as angular-build
WORKDIR /app
RUN mkdir -p /app
COPY ./ /app
RUN npm install
RUN npm run build
RUN npm run compress
FROM node:20-alpine as ssr-build
WORKDIR /dist
RUN mkdir -p /dist
COPY --from=angular-build /app/dist /dist
EXPOSE 4000
CMD ["node", "/dist/project/server/server.mjs" ]
И для второго проекта который в sublocation я также меняю base href в angular на /project2/