Files
Termix/ssl/termix.key
ZacharyZcR 7763e6a904 ENTERPRISE: Implement zero-config SSL/TLS with dual HTTP/HTTPS architecture
Major architectural improvements:
- Auto-generate SSL certificates on first startup with OpenSSL
- Dual HTTP (8081) + HTTPS (8443) backend API servers
- Frontend auto-detects protocol and uses appropriate API endpoint
- Fix database ORM initialization race condition with getDb() pattern
- WebSocket authentication with JWT verification during handshake
- Zero-config .env file generation for production deployment
- Docker and nginx configurations for container deployment

Technical fixes:
- Eliminate module initialization race conditions in database access
- Replace direct db imports with safer getDb() function calls
- Automatic HTTPS frontend development server (npm run dev:https)
- SSL certificate generation with termix.crt/termix.key
- Cross-platform environment variable support with cross-env

This enables seamless HTTP→HTTPS upgrade with zero manual configuration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 11:12:58 +08:00

29 lines
1.7 KiB
Plaintext

-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDCA5RvhN4y5c3D
8L8tKavR5tXHPpWImDTIQmf5XgUvkUq6ojq/TmotYcyerValq/CwruZjxaiEHHcf
zqejYYa20OsyiYFa4m87pyVoo+PR0KMkkw2nuQlXtTOH6ScFbgYJFGU3gfT8C2SJ
xKvc+fNnQUrIbdByXbJKYXSOf9YCJ7CIX1+YmDAxFfdVDZS7bcq7WVruLO5mZjW2
JSyUpbJbeLLiy62f2r56/rMj8ps3mhknahKbThmVwNBi4PdRIc9LeDXrAEc0sUm2
evc6z6V+peXUCjlAnGJeMjDet58l1BDOzcAnypEv00GgngkogLF5Sb6FfmKQZUC2
ggivWHrrAgMBAAECggEAVasz/5w5a1sa5VLob95PLuPRcOXbLJIc+HKOK8gO3Sa4
Szn4W+IZs0lUi5p5wLTwFmxcciDk3NUe6s4bKuMVE6Ojv1CFbGbA/CO9untnzQ1m
BG/knzNvAyoRg4l5wAWJp7e4S+7YCPVU4xqTUwORrX3gsij/WoiyAfMPfx7GlnM/
WfPYPWdaTCKHPpbTbN7mUATM9sX9Lil+V31w2lKZ1Bw1GL9YQS7DsPtf/YR8mPoW
t29jDPZm4h/QkKpDpr8Gg8vKAwkDQDXjcm+z1O4pABAKIYW/uBTsuJ+47Gs+trDW
A4hU91WFm0Lf8mh9YON+oxUKUo6Iuulr1CCd5zG5dQKBgQD1oaZeN+zE2fhE3DxM
jZl5gTg142+tjPuNdQWzW6vZDNTp2N494mBHNC1SB4LLooJmdpHTxW0Rz8mamH7I
fbGktt9YYw4pgPblUaFVm6DupJI1qo5+JElrzWkYIcx7ZPAFnZxeBR19FjnvezW2
q7qJzmFi9P1ao0iWKB26ljfW9wKBgQDKNCPGUBKy2G3UFANEomLNxEOgvoK+di5j
Fb8us/naGNlo98VYRmSjgHOFFM6W8IbZw9CVqwld3H26/FqHLJ77ujRmKzj6Jqrd
jPZqO9Di17/9uw4xfC+tQ6ngoPZq5poycKz3gSn9TOqu7bPfNRIzzLijC+hL1xDH
b0eaUwn6rQKBgQCyQfrju4BHp8vl5VKZV9W+eQmbChA9Cehw0zEs5eVD4m0NvEYk
8QlgAzy0oCDKuYga5geUgV1TJNGxMOQpihaGa/SQR2q6sg37hA8qeoQDTEmTStCY
OKtT4cFYMwcbsbgCy0v0a4/n/F5VLrxfcicw5SaF0zeeNItz9W8FvwiNJwKBgQDI
Sm9pYCW1fEcGPTCjisqeEhv/HNb7fKskQQVYaLREQjsRC+UyNMA5aOKE34Bn6Sda
i+mQZ5RmoiL01kWCAkQVC3QeBBBzUVwNCzWHM2sNWDL4TZKYl+/OC+k49ZhBed0h
u5TJser62nbZAeIbZkF6h/4Ym5HllcosEuF1T23iHQKBgQDYZOZzwxSwXnRbAvk8
v1c0rIkEonio2nyeRNNnN7Y27vwyi17o92hOBdZfPNWF6HheSlcuA1LhUI4/I6qF
2aZoMmLYdGl1/BCsnmbwWWFWD3p0BDDXGXi0OepRBjCi4imfy3lR3D0dQrqbeihR
VrAkQCkCByVeA5OcBrBeL+Dzig==
-----END PRIVATE KEY-----