【发布时间】:2018-09-06 11:16:48
【问题描述】:
我需要在 / 和 (admin|api|auth) 上使用 nginx 将 SPA 应用程序配置为 django proxy_pass,这是我当前的 nginx 配置设置:
server {
listen 80;
server_name localhost;
access_log off;
charset utf-8;
client_max_body_size 750M;
location ^~ /static/ {
root /opt/youtubeapp;
expires max;
break;
}
location ^~ /media/ {
root /opt/youtubeapp;
expires max;
break;
}
location ~ ^/(robots\.txt|favicon\.ico\.html)$ {
root /opt/youtubeapp/static/;
}
location / {
root /opt/bulkvideo-front;
expires max;
break;
}
location ^~ /(admin|api|auth) {
proxy_pass http://127.0.0.1:4600/;
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-Scheme $scheme;
# added 4 lines above. Remove or comment it if fail
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "POST, GET, OPTIONS";
add_header Access-Control-Allow-Headers "Origin, Authorization, Accept";
add_header Access-Control-Allow-Credentials true;
}
}
我当前的配置有一个问题,当我的 SPA 向http://localhost/auth/signin/ 服务器发送请求时返回错误消息Page not found 和Request URL: http://localhost/signin/,问题是 nginx,因为没有发送完整的路由路径,我如何在 nginx 中解决这个问题?
【问题讨论】:
标签: nginx