mirror of
https://github.com/actix/actix-extras.git
synced 2025-01-24 07:43:49 +01:00
1.4 KiB
1.4 KiB
HTTP/2
Actix web automatically upgrades connection to http/2
if possible.
Negotiation
HTTP/2
protocol over tls without prior knowlage requires
tls alpn. At the moment only
rust-openssl
has support. Turn on alpn
feature to enable alpn
negotiation.
With enable alpn
feature HttpServer
provides
serve_tls method.
[dependencies]
actix-web = { git = "https://github.com/actix/actix-web", features=["alpn"] }
use std::fs::File;
use actix_web::*;
fn main() {
let mut file = File::open("identity.pfx").unwrap();
let mut pkcs12 = vec![];
file.read_to_end(&mut pkcs12).unwrap();
let pkcs12 = Pkcs12::from_der(&pkcs12).unwrap().parse("12345").unwrap();
HttpServer::new(
Application::default("/")
.handler("/index.html", index)
.serve_tls::<_, ()>("127.0.0.1:8080", pkcs12).unwrap();
}
Upgrade to http/2
schema described in
rfc section 3.2 is not supported.
Starting http/2
with prior knowledge is supported for both clear text connection
and tls connection. rfc section 3.4
Please check example for concrete example.