0

I would like to deploy my project at this moment but i have gotten one issue after i ran the docker build I used the nginx server with docker build

In locally react-router is working fine and i had not gotten any issue while running in localhost in development and even with the normal build too

when i build the project with docker container with nginx server its working only to normal routes, when i navigate to the nested routes my component is not rendering at all that what component depend on nested matching

i think nginx is not recogizing the nested router in the root index.html in location object in default.conf

here is the default.conf file

server {
  listen 3000;
    root   /usr/share/nginx/html;
    index  index.html index.htm;
  location /{
    try_files $uri $uri/ /index.html;
    expires -1; # Set it to different value depending on your standard requirements
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
    root   /usr/share/nginx/html;
  }
}

here is the Dockerfile file

FROM node:14-alpine as react-build
# => Build container

WORKDIR /home/node/app

ENV NODE_ENV production

#ENV NODE_OPTIONS --openssl-legacy-provider

COPY package.json /home/node/app
RUN npm install

COPY . /home/node/app
RUN npm run build

# => Run container
FROM nginx:1.15.2-alpine
ENV NODE_ENV production
# Nginx config
RUN rm -rf /etc/nginx/conf.d
COPY conf /etc/nginx

# Static build
COPY --from=react-build /home/node/app/build /usr/share/nginx/html

# Default port exposure
EXPOSE 3000

# Copy .env file and shell script to container
WORKDIR /usr/share/nginx/html
COPY ./env.sh .
COPY .env .
COPY .env.local .

# Add bash
RUN apk add --no-cache bash

# Make our shell script executable
RUN chmod +x env.sh

#Stream Editor CR LF
RUN sed -i -e 's/\r$//' /usr/share/nginx/html/env.sh

# Start Nginx server
CMD ["/bin/bash", "-c", "/usr/share/nginx/html/env.sh && nginx -g \"daemon off;\""]

i ask the router related question in stackoverflow whether the router implementation is correct or not, they said

"there is no issue in the router implementation seems like problem in server/handling location root index.html"

here is the stackoverflow related question https://stackoverflow.com/questions/74374786/why-nested-routesreact-router-are-not-working-with-nginix-container-docker-bui

please anyone help i have no idea whats happend with the nginx configuration

how can i propely access the nested routes in index.html root

thanks advance!

jsBug
  • 101

0 Answers0