Initial commit: SYNC_API project
This commit is contained in:
67
sync_api/start_https_9443.py
Normal file
67
sync_api/start_https_9443.py
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Servidor HTTPS para API FastAPI en puerto 9443
|
||||
"""
|
||||
import uvicorn
|
||||
import ssl
|
||||
import sys
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
def main():
|
||||
# Configuración SSL
|
||||
ssl_keyfile = "ssl/private.key"
|
||||
ssl_certfile = "ssl/certificate.crt"
|
||||
|
||||
# Verificar que existan los archivos SSL
|
||||
if not os.path.exists(ssl_keyfile):
|
||||
print(f"❌ Error: No se encuentra {ssl_keyfile}")
|
||||
sys.exit(1)
|
||||
|
||||
if not os.path.exists(ssl_certfile):
|
||||
print(f"❌ Error: No se encuentra {ssl_certfile}")
|
||||
sys.exit(1)
|
||||
|
||||
print("🔐 Iniciando servidor HTTPS en puerto 9443...")
|
||||
print(f"📁 Certificado: {ssl_certfile}")
|
||||
print(f"🔑 Llave privada: {ssl_keyfile}")
|
||||
print("🌐 URLs disponibles:")
|
||||
print(" - https://104.192.7.152:9443/docs")
|
||||
print(" - https://cpanel-a24.aduanasoft.com:9443/docs")
|
||||
print(" - https://104.192.7.152:9443/api/health")
|
||||
print(" - https://104.192.7.152:9443/api/nodes")
|
||||
|
||||
try:
|
||||
# Configurar SSL context
|
||||
ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
|
||||
ssl_context.load_cert_chain(ssl_certfile, ssl_keyfile)
|
||||
|
||||
# Iniciar servidor
|
||||
uvicorn.run(
|
||||
"main:app",
|
||||
host="0.0.0.0",
|
||||
port=9443,
|
||||
ssl_keyfile=ssl_keyfile,
|
||||
ssl_certfile=ssl_certfile,
|
||||
reload=False,
|
||||
workers=1,
|
||||
access_log=True,
|
||||
log_level="info"
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Error al iniciar servidor HTTPS: {e}")
|
||||
print("\n🔧 Diagnóstico:")
|
||||
|
||||
# Diagnóstico SSL
|
||||
try:
|
||||
context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
|
||||
context.load_cert_chain(ssl_certfile, ssl_keyfile)
|
||||
print("✅ Certificados SSL válidos")
|
||||
except Exception as ssl_error:
|
||||
print(f"❌ Error en certificados SSL: {ssl_error}")
|
||||
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user