Servidor TLS
🔐 Servidor TLS
Sección titulada «🔐 Servidor TLS»En este ejemplo, aprenderás a configurar un servidor HTTPS seguro usando el soporte TLS integrado de Zuno. Esto es esencial para proteger datos sensibles y habilitar comunicación segura entre clientes y tu API.
🧱 Estructura del Proyecto
Sección titulada «🧱 Estructura del Proyecto»tls-server/├── CMakeLists.txt├── certs/│ ├── cert.pem│ └── key.pem└── main.cpp
📄 CMakeLists.txt
Sección titulada «📄 CMakeLists.txt»cmake_minimum_required(VERSION 3.20)project(tls_server)
set(CMAKE_CXX_STANDARD 20)set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(FetchContent)
FetchContent_Declare(zunoGIT_REPOSITORY https://github.com/ZunoFramework/zuno.gitGIT_TAG main)
FetchContent_MakeAvailable(zuno)
add_executable(tls-server main.cpp)target_link_libraries(tls-server PRIVATE zuno)
📄 main.cpp
Sección titulada «📄 main.cpp»#include <zuno/zuno.hpp>
int main() {zuno::App app;
app.get("/", [](Request& req, Response& res) { res.send("Conexión segura establecida vía TLS.");});
app.listenTLS(443, { .certFile = "certs/cert.pem", .keyFile = "certs/key.pem"});}
🔐 Generar un Certificado Autofirmado
Sección titulada «🔐 Generar un Certificado Autofirmado»Para desarrollo local, puedes generar un certificado autofirmado con OpenSSL:
mkdir certsopenssl req -x509 -newkey rsa:4096 -keyout certs/key.pem -out certs/cert.pem -days 365 -nodes
Puedes usar valores ficticios para las preguntas o automatizarlo con -subj
.
🚀 Ejecutar el Servidor
Sección titulada «🚀 Ejecutar el Servidor»cmake -B buildcmake --build buildsudo ./build/tls-server
⚠️ El puerto 443 requiere privilegios elevados en la mayoría de sistemas.
Luego visita https://localhost en tu navegador. Es posible que debas aceptar una advertencia de seguridad si usas un certificado autofirmado.
🧭 Próximos Pasos
Sección titulada «🧭 Próximos Pasos»- Agrega CORS y limitación de tasa
- Sirve archivos estáticos sobre HTTPS
Zuno hace que el desarrollo seguro por defecto en C++ no solo sea posible—sino elegante.