use std::fs::File; use std::io::BufReader; use actix_files::Files; use actix_web::{middleware, web, App, HttpRequest, HttpResponse, HttpServer}; use rustls::{Certificate, PrivateKey, ServerConfig}; use rustls_pemfile::{certs, pkcs8_private_keys}; /// simple handle async fn index(req: HttpRequest) -> HttpResponse { println!("{:?}", req); HttpResponse::Ok() .content_type("text/html; charset=utf-8") .body("
Welcome!
") } #[actix_web::main] async fn main() -> std::io::Result<()> { if std::env::var("RUST_LOG").is_err() { std::env::set_var("RUST_LOG", "actix_web=info"); } env_logger::init(); // load ssl keys let config = ServerConfig::builder() .with_safe_defaults() .with_no_client_auth(); let cert_file = &mut BufReader::new(File::open("cert.pem").unwrap()); let key_file = &mut BufReader::new(File::open("key.pem").unwrap()); let cert_chain = certs(cert_file) .unwrap() .into_iter() .map(Certificate) .collect(); let mut keys: Vec