Я пытался настроить конфигурацию, в которой Ingress на GCP связывается с двумя разными бэкэндами (поэтому [publi c -ip] / backend1 для service1 и [publi c -ip] / backend2 для service2 ) но это не похоже на работу. Приложение реакции, которое я развертываю, имеет конфигурацию nginx .conf (бессовестно украденную у inte rnet, я подозреваю, что это не работает должным образом)
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Кажется, по какой-то причине находит индекс. html правильно, но не файлы javascript и css, созданные с помощью npm run build
. Это мой Dockerfile
FROM node:alpine as build
WORKDIR /app
COPY . /app
ENV PATH /app/node_modules/.bin:$PATH
RUN yarn
RUN yarn build
FROM nginx:alpine
# copy the build folder from react to the root of nginx
COPY --from=build /app/build /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]