本地跨域配置是 proxy,本地测试跨域没有问题,数据能正常接受,后台能 console
"/api": {
"target": "http://132.232.22.140:8889/api",
"changeOrigin": true,
"pathRewrite": { "^/api" : "" }
}
然后部署到服务器后,在网上看了一下用 nginx 配置跨域
server {
listen 8000;
server_name localhost;
root /home/myftp/dist;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
location /api {
rewrite ^.+api/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass http://localhost:8889;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 20M;
keepalive_timeout 10;
}
然后在线上测试是接口 404,但是本地测试线上的数据库接口又是通的,求大大们支支招
1
tudage OP 求大大们看看呀
|
2
silverfox 2018-08-07 09:35:57 +08:00
这个错误跟跨域没有关系,请检查 Nginx 日志,应该是 rewrite 后的路径在后端服务不存在。
|
3
tudage OP @silverfox 看了 success 和 error 日志,没有任何相关记录,后端服务接口我还写了一个 console,也 console 不出来,但是本地测试就可以,应该是没有配置对,但是小弟是照着网上给得配置得,都是一样得 rewrite。。
|
4
silverfox 2018-08-07 14:57:10 +08:00
我觉得不太可能没有日志,如果 access 里都没有客户端访问 /api/xxx 的日志,那只能说客户端调用的不是这台服务器。
另一种可能是 Nginx 针对这个 server 或 location 不记录日志。 |
6
tudage OP 还是没有解决
|