问题描述:Angular 通过代理发送的请求未能到达 Rust API
解决方法:
proxy.conf.json
文件中,添加一个代理配置,如下所示:{
"/api": {
"target": "http://localhost:8000",
"secure": false
}
}
这里假设你的 Rust API 运行在 http://localhost:8000
。
angular.json
文件中,将 proxy.conf.json
添加到 architect -> serve -> options -> proxyConfig
中,如下所示:"architect": {
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"proxyConfig": "proxy.conf.json"
}
}
}
use actix_cors::Cors;
// ...
let server = HttpServer::new(move || {
App::new()
// ...
.wrap(
Cors::default()
.allow_any_origin()
.allow_any_method()
.allow_any_header(),
)
// ...
})
.bind("127.0.0.1:8000")?
.run();
这样配置后,Angular 发送到 /api
路径的请求将会被代理到 http://localhost:8000
,并且 Rust API 已经启用了跨域资源共享。
希望以上解决方法能够帮助你解决问题!