记录一次nginx跨域反向代理返回404的问题
云服务器之前是这样配置的
server {
listen 8081;
server_name localhost;
location / {
root /opt/project1_html;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass https://api.xxxxxx.com/api;
}
location /app {
proxy_pass https://app.xxxxxx.com;
}
}
有两个系列的接口,api和app开头的,之前没事的,这几天后端更新了一下,/api可以正常代理,/app却返回404。
检查了一下,前端代码在api、app的接口使用这块也没区别,nginx配置也没变过。
想不到解决办法,之前也遇到过和斜杠有关的类似的问题,就试了几次,改成如下的就成功了。
server {
listen 8081;
server_name localhost;
location / {
root /opt/project1_html;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass https://api.xxxxxx.com/api;
}
location /app/ { # 加了斜杠
proxy_pass https://app.xxxxxx.com/; # 加了斜杠
}
}
在/app后面加个斜杠,在代理地址后面加个斜杠,网页可以访问这个接口。问题暂时解决了,原因并不清楚。