我有一个 Angular 构建和一个 Django 后端,提供在一台服务器上运行的 API。我已经在 nginx 中配置了它们,前端有一个到后端服务器的代理。
后端在 url 127.0.0.1:8000/api 上运行,前端在 localhost 上运行
配置:
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 80;
charset utf-8;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
include /etc/nginx/mime.types;
gzip on;
gzip_types text/css text/javascript application/x-javascript application/json;
location /api {
proxy_pass http://127.0.0.1:8000/api;
}
location / {
try_files $uri $uri/ /index.html;
}
}
}
现在,当我从前端进行任何 api 调用时,我收到 502 Bad Gateway 错误
GET http://localhost/api/posts/post/management 502(坏网关)
我有更换器配置
upstream backend {
server backend:8000;
}
server {
listen 80;
charset utf-8;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
include /etc/nginx/mime.types;
gzip on;
gzip_types text/css text/javascript application/x-javascript application/json;
# backend urls
location ~ ^/(admin|api|media) {
proxy_redirect off;
proxy_pass http://backend;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
# static files
location /static {
proxy_pass http://backend;
}
# frontend
location / {
try_files $uri $uri/ /index.html;
}
它工作正常
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句