Nginx location всегда возвращает index страницу
Есть фронт админки и фронт юзера написанные на ангуляре обернутые в докер контейнер с nginx.
Поднял nginx и два фронта в докер-компосе, и прописал конфиг
location / {
proxy_pass http://frontend/;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /admin {
proxy_pass http://admin/admin/;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Фронт юзера с location / отрабатывает корректно, а вот админка с location /admin при любом обращении(к скриптам, картинкам) всегда респонсит индексовую страницу.
Не могу понять как это пофиксить и с чем это связано. Грешил на то что фронт юзера написан на 7 ангуляре, а админка на 8, потом поменял их местами - ничего не изменилось.
Конфиг nginx для каждого фронта
server {
listen 80;
server_name localhost;
charset utf-8;
sendfile on;
default_type application/octet-stream;
gzip on;
gzip_http_version 1.1;
gzip_disable "MSIE [1-6]\.";
gzip_min_length 1100;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 9;
root /usr/share/nginx/html;
location / {
index index.html index.htm;
try_files $uri $uri/ /index.html = 404;
}
}
Dockerfile
WORKDIR /application
RUN npm config set unsafe-perm true
RUN npm install -g @angular/[email protected]
RUN apk update && apk add gettext
COPY package.json angular.json tsconfig.json tslint.json package-lock.json ./
RUN npm install
COPY src src
ARG BASE_HREF=/
ARG API_URL
ARG CLIENT_ID
RUN envsubst < ./src/environments/environment.prod.ts > ./src/environments/environment.prod.ts.tmp && mv ./src/environments/environment.prod.ts.tmp ./src/environments/environment.prod.ts
RUN ng build --prod --output-path=dist --base-href=$BASE_HREF
FROM nginx:stable-alpine
COPY nginx /etc/nginx/conf.d/
RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /application/dist /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]