mirror of
https://github.com/actix/examples
synced 2025-04-08 19:03:19 +02:00
Simplify http-to-https example
This commit is contained in:
parent
a554e6467e
commit
54ed931e80
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -2047,7 +2047,6 @@ dependencies = [
|
|||||||
"log",
|
"log",
|
||||||
"notify 6.1.1",
|
"notify 6.1.1",
|
||||||
"rustls 0.23.25",
|
"rustls 0.23.25",
|
||||||
"rustls-pemfile 2.2.0",
|
|
||||||
"tokio",
|
"tokio",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -5094,7 +5093,6 @@ dependencies = [
|
|||||||
"futures-util",
|
"futures-util",
|
||||||
"log",
|
"log",
|
||||||
"rustls 0.23.25",
|
"rustls 0.23.25",
|
||||||
"rustls-pemfile 2.2.0",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -112,7 +112,6 @@ rand = "0.9"
|
|||||||
redis = { version = "0.27" }
|
redis = { version = "0.27" }
|
||||||
reqwest = { version = "0.12", features = ["json", "stream"] }
|
reqwest = { version = "0.12", features = ["json", "stream"] }
|
||||||
rustls = "0.23"
|
rustls = "0.23"
|
||||||
rustls-pemfile = "2"
|
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
serde_json = "1"
|
serde_json = "1"
|
||||||
time = "0.3"
|
time = "0.3"
|
||||||
|
@ -9,4 +9,3 @@ env_logger.workspace = true
|
|||||||
futures-util.workspace = true
|
futures-util.workspace = true
|
||||||
log.workspace = true
|
log.workspace = true
|
||||||
rustls.workspace = true
|
rustls.workspace = true
|
||||||
rustls-pemfile.workspace = true
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
use std::{fs::File, io::BufReader};
|
|
||||||
|
|
||||||
use actix_web::{App, HttpResponse, HttpServer, dev::Service, get, http};
|
use actix_web::{App, HttpResponse, HttpServer, dev::Service, get, http};
|
||||||
use futures_util::future::{self, Either, FutureExt};
|
use futures_util::future::{self, Either, FutureExt};
|
||||||
use rustls::{ServerConfig, pki_types::PrivateKeyDer};
|
use rustls::{
|
||||||
use rustls_pemfile::{certs, pkcs8_private_keys};
|
ServerConfig,
|
||||||
|
pki_types::{CertificateDer, PrivateKeyDer, pem::PemObject},
|
||||||
|
};
|
||||||
|
|
||||||
#[get("/")]
|
#[get("/")]
|
||||||
async fn index() -> String {
|
async fn index() -> String {
|
||||||
@ -18,18 +18,17 @@ async fn main() -> std::io::Result<()> {
|
|||||||
.install_default()
|
.install_default()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let cert_file = &mut BufReader::new(File::open("cert.pem").unwrap());
|
let cert_chain = CertificateDer::pem_file_iter("cert.pem")
|
||||||
let key_file = &mut BufReader::new(File::open("key.pem").unwrap());
|
.unwrap()
|
||||||
|
.flatten()
|
||||||
|
.collect();
|
||||||
|
|
||||||
let cert_chain = certs(cert_file).collect::<Result<Vec<_>, _>>().unwrap();
|
let key_der =
|
||||||
let mut keys = pkcs8_private_keys(key_file)
|
PrivateKeyDer::from_pem_file("key.pem").expect("Could not locate PKCS 8 private keys.");
|
||||||
.map(|key| key.map(PrivateKeyDer::Pkcs8))
|
|
||||||
.collect::<Result<Vec<_>, _>>()
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
let config = ServerConfig::builder()
|
let config = ServerConfig::builder()
|
||||||
.with_no_client_auth()
|
.with_no_client_auth()
|
||||||
.with_single_cert(cert_chain, keys.remove(0))
|
.with_single_cert(cert_chain, key_der)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
log::info!(
|
log::info!(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user