# Apache vhost pour dynamic.alpinux.org
# L'app Flask tourne derrière Gunicorn sur 127.0.0.1:5001
ServerName dynamic.alpinux.org
Redirect permanent / https://dynamic.alpinux.org/
ServerName dynamic.alpinux.org
# ── Proxy vers Gunicorn ──────────────────────────────────────
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5001/
ProxyPassReverse / http://127.0.0.1:5001/
# En-têtes transmis à Flask
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-For "%{REMOTE_ADDR}s"
# ── Sécurité ─────────────────────────────────────────────────
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
# ── Logs ─────────────────────────────────────────────────────
ErrorLog /var/log/apache2/dynamic.alpinux.org-error.log
CustomLog /var/log/apache2/dynamic.alpinux.org-access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/dynamic.alpinux.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dynamic.alpinux.org/privkey.pem