- Replace Caddy reverse proxy with Nginx (nginx:alpine) - Add nginx.conf with HTTP/HTTPS, gzip, and proxy settings - Add nginx-custom-domains.conf template for custom domains - Update docker-compose.yml to use Nginx service - Add ProxyFix middleware to Flask app for proper header handling - Create nginx_config_reader.py utility to read Nginx configuration - Update admin blueprint to display Nginx status in https_config page - Add Nginx configuration display to https_config.html template - Generate self-signed SSL certificates for localhost - Add utility scripts: generate_nginx_certs.sh - Add documentation: NGINX_SETUP_QUICK.md, PROXY_FIX_SETUP.md - All containers now running, HTTPS working, HTTP redirects to HTTPS - Session cookies marked as Secure - Security headers properly configured
31 lines
811 B
Bash
Executable File
31 lines
811 B
Bash
Executable File
#!/bin/bash
|
|
# Generate self-signed SSL certificates for Nginx
|
|
# Usage: ./generate_nginx_certs.sh [domain] [days]
|
|
|
|
DOMAIN=${1:-localhost}
|
|
DAYS=${2:-365}
|
|
CERT_DIR="./data/nginx-ssl"
|
|
|
|
echo "🔐 Generating self-signed SSL certificate for Nginx"
|
|
echo "Domain: $DOMAIN"
|
|
echo "Valid for: $DAYS days"
|
|
echo "Certificate directory: $CERT_DIR"
|
|
|
|
# Create directory if it doesnt exist
|
|
mkdir -p "$CERT_DIR"
|
|
|
|
# Generate private key and certificate
|
|
openssl req -x509 -nodes -days "$DAYS" \
|
|
-newkey rsa:2048 \
|
|
-keyout "$CERT_DIR/key.pem" \
|
|
-out "$CERT_DIR/cert.pem" \
|
|
-subj "/CN=$DOMAIN/O=DigiServer/C=US"
|
|
|
|
# Set proper permissions
|
|
chmod 644 "$CERT_DIR/cert.pem"
|
|
chmod 600 "$CERT_DIR/key.pem"
|
|
|
|
echo "✅ Certificates generated successfully!"
|
|
echo "Certificate: $CERT_DIR/cert.pem"
|
|
echo "Key: $CERT_DIR/key.pem"
|