Remove .env file and enhance SSL error handling in server configuration
All checks were successful
Deploy Production (ss-tools.crewsportswear.app) / deploy (push) Successful in 1m15s
All checks were successful
Deploy Production (ss-tools.crewsportswear.app) / deploy (push) Successful in 1m15s
This commit is contained in:
21
.env
21
.env
@@ -1,21 +0,0 @@
|
||||
# Server Configuration
|
||||
PORT=5955
|
||||
HOST=0.0.0.0
|
||||
|
||||
# SSL Configuration (only needed if not using Traefik)
|
||||
# Set USE_SSL=true if you want to handle SSL directly
|
||||
# Set USE_SSL=false when deploying behind Traefik/reverse proxy
|
||||
USE_SSL=false
|
||||
|
||||
# SSL Certificate Paths (only used when USE_SSL=true)
|
||||
# SSL_KEY_PATH=/etc/httpd/ssl/crewsportswear_app.key
|
||||
# SSL_CERT_PATH=/etc/httpd/ssl/certs/current_cert.crt
|
||||
|
||||
# Screenshot Configuration
|
||||
OUTPUT_DIR=/var/www/html/images/
|
||||
BASE_URL=https://crewsportswear.app:5955/
|
||||
VIEWPORT_WIDTH=1366
|
||||
VIEWPORT_HEIGHT=1100
|
||||
WAIT_TIME=10000
|
||||
|
||||
# Viewer URLs (configured in config.js)
|
||||
@@ -2,10 +2,18 @@ const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// SSL Configuration (optional - only needed if not using Traefik/reverse proxy)
|
||||
const sslConfig = process.env.USE_SSL === 'true' ? {
|
||||
key: fs.readFileSync(process.env.SSL_KEY_PATH || '/etc/httpd/ssl/crewsportswear_app.key', 'utf8'),
|
||||
cert: fs.readFileSync(process.env.SSL_CERT_PATH || '/etc/httpd/ssl/certs/current_cert.crt', 'utf8')
|
||||
} : null;
|
||||
let sslConfig = null;
|
||||
if (process.env.USE_SSL === 'true') {
|
||||
try {
|
||||
sslConfig = {
|
||||
key: fs.readFileSync(process.env.SSL_KEY_PATH || '/etc/httpd/ssl/crewsportswear_app.key', 'utf8'),
|
||||
cert: fs.readFileSync(process.env.SSL_CERT_PATH || '/etc/httpd/ssl/certs/current_cert.crt', 'utf8')
|
||||
};
|
||||
} catch (err) {
|
||||
console.error('Failed to read SSL certificates:', err.message);
|
||||
console.log('Falling back to HTTP mode');
|
||||
}
|
||||
}
|
||||
|
||||
// CORS Configuration
|
||||
const allowedOrigins = [
|
||||
|
||||
@@ -24,7 +24,7 @@ services:
|
||||
- "traefik.http.routers.screenshot-service.rule=Host(`ss-tools.crewsportswear.app`)"
|
||||
- "traefik.http.routers.screenshot-service.entrypoints=websecure"
|
||||
- "traefik.http.routers.screenshot-service.tls=true"
|
||||
- "traefik.http.routers.screenshot-service.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.screenshot-service.tls.certresolver=le"
|
||||
|
||||
# Service
|
||||
- "traefik.http.services.screenshot-service.loadbalancer.server.port=5955"
|
||||
|
||||
21
server.js
21
server.js
@@ -68,11 +68,30 @@ const server = serverConfig.useSSL && sslConfig
|
||||
? https.createServer(sslConfig, app)
|
||||
: http.createServer(app);
|
||||
|
||||
// Handle server errors
|
||||
server.on('error', (err) => {
|
||||
if (err.code === 'EADDRINUSE') {
|
||||
console.error(`❌ Port ${serverConfig.port} is already in use`);
|
||||
console.error(' Please stop the other process or use a different port');
|
||||
} else if (err.code === 'ECONNREFUSED') {
|
||||
console.error(`❌ Connection refused on ${serverConfig.host}:${serverConfig.port}`);
|
||||
console.error(' Check if the port is accessible');
|
||||
} else {
|
||||
console.error('❌ Server error:', err);
|
||||
}
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
const protocol = serverConfig.useSSL && sslConfig ? 'https' : 'http';
|
||||
const sslNote = serverConfig.useSSL && sslConfig ? '(Direct SSL)' : '(SSL via Traefik/Reverse Proxy)';
|
||||
|
||||
// Start server
|
||||
server.listen(serverConfig.port, serverConfig.host, () => {
|
||||
server.listen(serverConfig.port, serverConfig.host, (err) => {
|
||||
if (err) {
|
||||
console.error('Failed to start server:', err);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('╔════════════════════════════════════════════════════════════╗');
|
||||
console.log('║ Screenshot Service - Unified Application Started ║');
|
||||
console.log('╚════════════════════════════════════════════════════════════╝');
|
||||
|
||||
Reference in New Issue
Block a user