Rust Actix CORS。从浏览器发送请求时出现问题

Rust Actix CORS。从浏览器发送请求时出现问题,rust,actix-web,Rust,Actix Web,主要功能是: #[actix_rt::main] async fn main() -> std::io::Result<()> { std::env::set_var( "RUST_LOG", "actix_web=info,actix_server=info" ); env_logger::init(); let pool = DBConnectionPool::crea

主要功能是:

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    std::env::set_var(
        "RUST_LOG",
        "actix_web=info,actix_server=info"
    );
    env_logger::init();

    let pool = DBConnectionPool::create();

    HttpServer::new(move || {
        let cors = Cors::default()
            .allowed_origin("http://localhost:3000")
            .allowed_methods(vec!["POST", "PUT", "PATCH", "GET", "OPTIONS", "HEAD"]);

        App::new()
            .data(pool.clone())
            .wrap(cors)
            .wrap(middleware::Compress::new(ContentEncoding::Br))
            .wrap(middleware::Logger::default())
            .service(web::scope("/users").configure(apps::users::routes::init_routes))
    })
    .bind(Env::get("HOST"))?
    .run()
    .await
}
#[actix\u rt::main]
异步fn main()->std::io::Result{
std::env::set_var(
“铁锈木”,
actix\u web=info,actix\u服务器=info
);
环境记录器::init();
让pool=DBConnectionPool::create();
HttpServer::新建(移动| |{
设cors=cors::default()
.允许的来源(“http://localhost:3000")
.允许的方法(vec![“发布”、“放置”、“修补”、“获取”、“选项”、“头部]);
App::new()
.data(pool.clone())
.包裹(cors)
.wrap(中间件::压缩::新建(内容编码::Br))
.wrap(中间件::记录器::默认值())
.service(web::scope(“/users”).configure(应用程序::用户::路由::初始化路由))
})
.bind(Env::get(“主机”))?
.run()
.等待
}
我尝试从邮递员处发送选项请求,一切正常:

但是从浏览器中我得到了一个错误:

浏览器网络选项卡中的屏幕:

也许我不明白什么。有人能帮我吗


我使用react前端。

对于我的本地主机,我尝试使用以下方法:

let cors = Cors::permissive();
它正在发挥作用