Rails api react and nginx on docker



设置好rails API、react和Nginx 之后

似乎一切都很好,但当我试图张贴或其他行动没有去API!保持反应!

与此配置相关的每个教程都将主位置指向前端react,将辅助位置指向后端,但正如我之前在访问localhost:80后所说,打开react,在任何类似post的操作上,放置或删除操作都不会转到后端。

我试着在主位置上反转位置或上游两个位置,但仍然不知道如何使其工作。请有人帮忙澄清一下这件事好吗?

码头工人组成

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-conf

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"

查看此以获取更多信息

最新更新