<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName admin.imperium.com.ar
# DocumentRoot /var/www/html/redirect-fidelitas
        DocumentRoot /var/www/html/admin.imperium
        DirectoryIndex default.cfm index.cfm index.html index.htm
        <Directory "/var/www/html/admin.imperium/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        </Directory>
        Alias /rpt "/var/www/html/compartido/reportes"
        <Directory "/var/www/html/compartido/reportes">
            AllowOverride All
            Deny from all
            Require all granted
            <FilesMatch "\.(png|jpg|gif|PNG|pdf|doc|docx|xls|xlsx)$">
            Allow from all
            </FilesMatch>
        </Directory>
        <Directory "/var/www/html/compartido/reportes">
                EnableMMAP Off
        </Directory>
SSLCertificateFile /etc/letsencrypt/live/admin.imperium.com.ar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/admin.imperium.com.ar/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName blue.fidelitas.com.ar
        DocumentRoot /var/www/html/blue
        DirectoryIndex default.cfm index.cfm index.html index.htm
        <Directory "/var/www/html/cliente.inquiro/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        </Directory>
#SSLCertificateFile /etc/letsencrypt/live/blue.fidelitas.ai/fullchain.pem
#SSLCertificateKeyFile /etc/letsencrypt/live/blue.fidelitas.ai/privkey.pem
#Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/blue.fidelitas.com.ar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/blue.fidelitas.com.ar/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName clientes.imperium.com.ar
# DocumentRoot /var/www/html/redirect-fidelitas
        DocumentRoot /var/www/html/cliente.imperium
        DirectoryIndex default.cfm index.cfm index.html index.htm
        <Directory "/var/www/html/cliente.imperium/">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        </Directory>
        Alias /logos "/var/www/html/compartido/imperium/logos"
        <Directory "/var/www/html/compartido/imperium/logos">
            AllowOverride All
            Deny from all
            Require all granted
            <FilesMatch "\.(png|jpg|gif|pdf|rtf|doc|docx)$">
            Allow from all
            </FilesMatch>
        </Directory>
        <Directory "/var/www/html/compartido/imperium/logos">
                EnableMMAP Off
        </Directory>
        Alias /instructivos "/var/www/html/compartido/instructivos"
        <Directory "/var/www/html/compartido/instructivos">
            AllowOverride All
            Deny from all
            Require all granted
            <FilesMatch "\.(png|jpg|gif|pdf|rtf|doc|docx|xls|xlsx)$">
            Allow from all
            </FilesMatch>
        </Directory>
        <Directory "/var/www/html/compartido/instructivos">
               EnableMMAP Off
        </Directory>
       Alias /docs "/var/www/html/compartido/temp/_docs"
        <Directory "/var/www/html/compartido/temp/_docs">
            AllowOverride All
            Deny from all
            Require all granted
            <FilesMatch "\.(png|jpg|gif|pdf|rtf|doc|docx|xls|xlsx)$">
            Allow from all
            </FilesMatch>
        </Directory>
        <Directory "/var/www/html/compartido/temp/_docs">
                EnableMMAP Off
        </Directory>
       Alias /informes "/var/www/html/compartido/informes"
        <Directory "/var/www/html/compartido/informes">
            AllowOverride All
            Deny from all
            Require all granted
            <FilesMatch "\.(png|jpg|gif|pdf|rtf|doc|docx)$">
            Allow from all
            </FilesMatch>
        </Directory>
        <Directory "/var/www/html/compartido/informes">
                EnableMMAP Off
        </Directory>
        ErrorLog /var/www/html/cliente.imperium/cliimp.log
SSLCertificateFile /etc/letsencrypt/live/clientes.imperium.com.ar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/clientes.imperium.com.ar/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName serf.fidelitas.com.ar
# TLS (completar con rutas de certbot)
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/serf.fidelitas.com.ar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/serf.fidelitas.com.ar/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
# Seguridad TLS
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
# Headers de seguridad globales
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Robots-Tag "noindex, nofollow"
Header always set X-Frame-Options "DENY"
Header always set X-Content-Type-Options "nosniff"
# TODO para el equipo de www: implementar referrer-policy que preserve el canonical
Header always set Referrer-Policy "strict-origin"
# Proxy total hacia Node.js — SIN excluir rutas (ni /portadas ni /data son accesibles directamente)
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://127.0.0.1:3200/
ProxyPassReverse / http://127.0.0.1:3200/
# Logs
CustomLog /var/log/apache2/serf-access.log combined
ErrorLog /var/log/apache2/serf-error.log
# robots.txt servido por Node.js (ruta /robots.txt en public.js)
</VirtualHost>
</IfModule>

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName serfadmin.fidelitas.com.ar
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/serfadmin.fidelitas.com.ar/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/serfadmin.fidelitas.com.ar/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
Header always set Strict-Transport-Security "max-age=31536000"
Header always set X-Robots-Tag "noindex, nofollow"
Header always set X-Frame-Options "DENY"
Header always set X-Content-Type-Options "nosniff"
# Restricción por IP — PRIMERA línea de defensa
<Location />
    Require ip 186.189.232.93
    Require ip 10.20.30.0/24
    Require ip 10.20.40.0/24
</Location>
ProxyPreserveHost On
ProxyRequests Off
RedirectMatch ^/$ /serfadmin/login
ProxyPass / http://127.0.0.1:3200/
ProxyPassReverse / http://127.0.0.1:3200/
CustomLog /var/log/apache2/serfadmin-access.log combined
ErrorLog /var/log/apache2/serfadmin-error.log
</VirtualHost>
</IfModule>
