#actix-web-middleware #https #middleware #actix-web #redirect #ssl #http-request

actix-web-middleware-redirect-https

一个将所有 http 请求转发到 https 的 actix-web 中间件,可选项替换URL字符串。

5个版本 (3个稳定版)

3.0.1 2021年3月15日
1.0.0 2020年1月22日
0.1.1 2019年11月6日
0.1.0 2019年11月6日

#1254HTTP服务器


用于 lupt

MIT 许可证

8KB
71

actix-web-middleware-redirect-https

Build Status

一个将所有 http 请求转发到 https 的 actix-web 中间件,可选项替换URL字符串。

注意:请考虑使用 这个分支 代替

crates.io

docs.rs

用法

# Cargo.toml
[dependencies]
actix-web-middleware-redirect-https = "3.0.1"
use actix_web::{App, web, HttpResponse};
use actix_web_middleware_redirect_https::RedirectHTTPS;

App::new()
    .wrap(RedirectHTTPS::default())
    .route("/", web::get().to(|| HttpResponse::Ok()
                                    .content_type("text/plain")
                                    .body("Always HTTPS!")));

默认情况下,中间件简单地用 scheme 替换URL的方案为 https://,但您可能需要更改URL的其他部分。例如,在开发中如果不使用默认端口(80和443)时,您需要指定它们的替换,如下所示

use actix_web::{App, web, HttpResponse};
use actix_web_middleware_redirect_https::RedirectHTTPS;

App::new()
    .wrap(RedirectHTTPS::with_replacements(&[(":8080".to_owned(), ":8443".to_owned())]))
    .route("/", web::get().to(|| HttpResponse::Ok()
                                    .content_type("text/plain")
                                    .body("Always HTTPS on non-default ports!")));

依赖项

~27MB
~579K SLoC