Задать вопрос

Почему возникает ошибка 304 при перемещении проекта в NGINX?

Всем привет!
Запускается два 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/
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
12345678XYU87654321
@12345678XYU87654321 Автор вопроса
Для второго роута нужно в конце слеш указать, вопрос закрыт

proxy_pass http://$docker_host:4000/;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы