From ffa21ae8df0d142dd3685aefb712c3a093dbc44b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Kaan=20G=C3=9CM=C3=9C=C5=9E?= <96421894+Tahinli@users.noreply.github.com> Date: Sat, 9 Mar 2024 16:44:42 +0300 Subject: [PATCH] feat: :sparkles: https support --- .gitignore | 1 + back/Cargo.toml | 1 + back/src/main.rs | 15 +++++++++++---- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 65f506f..da719a0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ debug/ target/ .vscode/ dist/ +certificates/ # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html diff --git a/back/Cargo.toml b/back/Cargo.toml index ebb4e14..30e8c07 100644 --- a/back/Cargo.toml +++ b/back/Cargo.toml @@ -7,6 +7,7 @@ edition = "2021" [dependencies] axum = "0.7.4" +axum-server = { version = "0.6.0", features = ["tls-rustls"] } rand = "0.8.5" serde = { version = "1.0.197", features = ["derive"] } serde_json = "1.0.114" diff --git a/back/src/main.rs b/back/src/main.rs index 6ece0ad..1e3054f 100644 --- a/back/src/main.rs +++ b/back/src/main.rs @@ -1,5 +1,6 @@ use back::{routing, AppState}; -use std::env::{self}; +use std::{env, net::SocketAddr}; +use axum_server::tls_rustls::RustlsConfig; fn take_args() -> String{ let mut bind_address:String = String::new(); @@ -13,11 +14,17 @@ fn take_args() -> String{ #[tokio::main] async fn main() { println!("Hello, world!"); - + let config = RustlsConfig::from_pem_file( + "certificates/fullchain.pem", + "certificates/privkey.pem" + ).await.unwrap(); let state = AppState{ }; let app = routing::routing(axum::extract::State(state)).await; - let listener = tokio::net::TcpListener::bind(take_args()).await.unwrap(); - axum::serve(listener, app).await.unwrap(); + let addr = SocketAddr::from(take_args().parse::().unwrap()); + axum_server::bind_rustls(addr, config) + .serve(app.into_make_service()) + .await + .unwrap(); }