Rails api react 和 nginx on docker

jjplack

设置 rails API 后,react 和 Nginx

似乎一切都很好但是当我尝试发布或其他操作时没有去 API!继续反应!

与此配置相关的每个教程都将主要位置指向前端反应,将次要位置指向后端,但正如我之前所说,在访问 localhost:80 之后打开反应并在任何操作(如帖子)上,放置或删除操作都没有转到后端.

我试图在主要位置上反转位置或上游两个位置,但仍然不明白如何进行这项工作。所以请有人帮忙澄清一下吗?

docker-compose

version: "3"
volumes:
  postgres_data: {}

services:
  db:
    image: postgres:12.0-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data

  nginx:
    build:
      context: .
      dockerfile: ./docker/nginx/Dockerfile
    restart: on-failure
    ports:
      - 80:80
      - 8080:8080
    links:
      - frontend
    depends_on:
      - frontend

  backend:
    build:
      context: .
      dockerfile: ./docker/backend/Dockerfile
    ports:
      - 5000:5000
    depends_on:
      - db
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=secret
      - POSTGRES_DB=banks_development

  frontend:
    build:
      context: .
      dockerfile: ./docker/frontend/Dockerfile
    ports:
      - 3000:3000
    depends_on:
      - backend

nginx配置文件

events {

  worker_connections 1024;
}

http {


  server {

    listen 80;


    location /api {

      # proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;

      proxy_pass http://backend:5000;
      proxy_redirect off;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-NginX-Proxy true;

    }


    # this is where my react-app is located
    location / {

      proxy_pass http://frontend:3000;
      proxy_redirect off;
      #proxy_http_version 1.1;
     # proxy_set_header Upgrade $http_upgrade;
     # proxy_set_header Connection "upgrade";
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-NginX-Proxy true;


    }
  }
}
瓦利德·希哈德

需要给前端配置一个代理,如下图

  "proxy": "http://127.0.0.1/api"

检查这个以获取更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章