如何让Nginx代理只在“/”位置传递,并为其余的index.html提供服务?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (21)

我有一个Web应用程序,使用Django作为后端,一些前端和ReactJS严格地用于前端。我正在设置我的Nginx配置,并试图让Nginx代理。_只在“/”位置上传递,然后在其余的位置上传递,我希望它从Reaction中为index.html文件提供服务。

这是我目前的Nginx配置下的网站-可用。因此,唯一没有前缀“/home/”或“/app/”的url是主页。我想让Django服务主页,然后ReactJS为其他人服务。

server {
listen 80;
root /home/route/to/my/ReactJS/build;
server_name www.mydomain.com;

location = /favicon.ico { log_not_found off; }

location / {
    include proxy_params;
    proxy_pass http://0.0.0.0:8000;
}

location /home/ {
    try_files $uri $uri/ /index.html;
}

location /app/ {
    try_files $uri $uri/ /index.html;
}
}

如果你需要更多的细节或者我能把事情弄清楚,请告诉我。

提问于
用户回答回答于

只需将其更改为以下内容:(替换最后三个位置块)

location = / {
    include proxy_params;
    proxy_pass http://0.0.0.0:8000;
}

location / {
    try_files $uri $uri/ /index.html;
}

location = /只匹配确切的域,其他一切都将由location /

扫码关注云+社区

领取腾讯云代金券