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"
|