后端和前端如何配置nginx?
How do I configure nginx with backend and frontend?
我有一个简单的 vue.js 和 django(作为 REST API)应用程序,我想将其与 nginx 结合使用。目前前端正在工作,但后端没有。这是我的 nginx 配置:
server {
listen 80;
location / {
root /usr/share/nginx/html/;
index index.html index.htm;
}
location /api {
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_pass http://localhost:8000/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
访问 localhost 适用于静态文件,但 localhost/api 会导致错误的网关错误:
[error] 29#29: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: , request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "localhost"
此外,尝试通过前端 (axios) 访问 localhost/api returns 'You need javascript to display this page' 站点,它只是前端的一部分。
运行 后端单独在 docker 和 nginx 之外,在 localhost:8000.
上运行良好
我该怎么做才能让它发挥作用?不一定非要这样,只要前后端可以通信即可。
你说你运行Docker?然后,您需要将 localhost
更改为 容器名称 ,运行 您的后端。
我有一个简单的 vue.js 和 django(作为 REST API)应用程序,我想将其与 nginx 结合使用。目前前端正在工作,但后端没有。这是我的 nginx 配置:
server {
listen 80;
location / {
root /usr/share/nginx/html/;
index index.html index.htm;
}
location /api {
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_pass http://localhost:8000/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}
访问 localhost 适用于静态文件,但 localhost/api 会导致错误的网关错误:
[error] 29#29: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: , request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "localhost"
此外,尝试通过前端 (axios) 访问 localhost/api returns 'You need javascript to display this page' 站点,它只是前端的一部分。
运行 后端单独在 docker 和 nginx 之外,在 localhost:8000.
上运行良好我该怎么做才能让它发挥作用?不一定非要这样,只要前后端可以通信即可。
你说你运行Docker?然后,您需要将 localhost
更改为 容器名称 ,运行 您的后端。