# Apache-Konfiguration für tt-tagebuch.de
# 
# HINWEIS: Diese Datei ist eine kombinierte Referenz.
# Für die tatsächliche Konfiguration werden zwei separate Dateien verwendet:
# 
# 1. apache-http.conf.example  -> /etc/apache2/sites-available/tt-tagebuch.de.conf
#    (HTTP, Port 80 - Weiterleitung zu HTTPS)
# 
# 2. apache-https.conf.example -> /etc/apache2/sites-available/tt-tagebuch.de-le-ssl.conf
#    (HTTPS, Port 443 - Hauptkonfiguration)
#
# Oder verwende das Update-Skript: ./update-apache-config.sh
#
# WICHTIG: Folgende Module müssen aktiviert sein:
# sudo a2enmod proxy
# sudo a2enmod proxy_http
# sudo a2enmod proxy_wstunnel
# sudo a2enmod rewrite
# sudo a2enmod headers
# sudo systemctl restart apache2

# ============================================
# HTTP (Port 80) - Weiterleitung zu HTTPS
# ============================================

# HTTP: www.tt-tagebuch.de -> HTTPS: tt-tagebuch.de
<VirtualHost *:80>
    ServerName www.tt-tagebuch.de
    Redirect permanent / https://tt-tagebuch.de/
</VirtualHost>

# HTTP: tt-tagebuch.de -> HTTPS: tt-tagebuch.de
<VirtualHost *:80>
    ServerName tt-tagebuch.de
    Redirect permanent / https://tt-tagebuch.de/
</VirtualHost>

# ============================================
# HTTPS (Port 443) - Weiterleitung www -> non-www
# ============================================

# HTTPS: www.tt-tagebuch.de -> HTTPS: tt-tagebuch.de (301-Weiterleitung)
<VirtualHost *:443>
    ServerName www.tt-tagebuch.de
    
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/tt-tagebuch.de/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/tt-tagebuch.de/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
    
    Redirect permanent / https://tt-tagebuch.de/
</VirtualHost>

# ============================================
# HTTPS (Port 443) - Hauptkonfiguration (non-www)
# ============================================

<VirtualHost *:443>
    ServerName tt-tagebuch.de

    DocumentRoot /var/www/tt-tagebuch.de

    <Directory /var/www/tt-tagebuch.de>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/tt-tagebuch.de_error.log
    CustomLog ${APACHE_LOG_DIR}/tt-tagebuch.de_access.log combined

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/tt-tagebuch.de/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/tt-tagebuch.de/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    ProxyRequests Off

    # HINWEIS: Socket.IO läuft jetzt direkt auf HTTPS-Port 3051 (nicht über Apache-Proxy)
    # Siehe backend/SOCKET_IO_SSL_SETUP.md für Details

    # API-Routen
    ProxyPass /api http://localhost:3050/api
    ProxyPassReverse /api http://localhost:3050/api

    # Alle anderen Anfragen an den Backend-Server (für Frontend)
    ProxyPass / http://localhost:3050/
    ProxyPassReverse / http://localhost:3050/
</VirtualHost>
