Django,以及在单个Digital Ocean Droplet内的Docker内部的React:对Django的400错误请求,React可以正常工作

I have Django and React inside the same Docker container using docker-compose.yml and running this container inside a Digital Ocean Droplet running Ubuntu. When I navigate to http://my_ip_address:3000 which is the React app, it works just fine, but when I navigate to http://my_ip_address:8000 which is the Django app, I get a 400 Bad Request error from the server.

项目/后端/ Dockerfile

FROM python:3.7

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /nerdrich

COPY Pipfile Pipfile.lock /nerdrich/
RUN pip install pipenv && pipenv install --system

COPY . /nerdrich/
EXPOSE 8000

项目/前端/ Dockerfile

# official node.js runtime for Docker
FROM node:12
# Create and set the directory for this container
WORKDIR /app/
# Install Application dependencies
COPY package.json yarn.lock /app/
RUN yarn install --no-optional
# Copy over the rest of the project
COPY . /app/

# Set the default port for the container
EXPOSE 3000

CMD yarn start

项目/ docker-compose.yml

version: "3"

services:
  web:
    build: ./back-end
    command: python /nerdrich/manage.py runserver
    volumes:
      - ./back-end:/nerdrich
    ports:
      - "8000:8000"
    stdin_open: true
    tty: true
  client:
    build: ./front-end
    volumes:
      - ./front-end:/app
      - /app/node_modules
    ports:
      - '3000:3000'
    stdin_open: true
    environment:
      - NODE_ENV=development
    depends_on:
      - "web"
    command:
      yarn start

项目/后端/nerdrich/.env

ALLOWED_HOSTS=['165.227.82.162']

如果需要,我可以提供任何其他信息。

评论