# Redirige automatiquement tout le trafic http vers https
# (Ne pas autoriser le trafic en claire)
    # Remplacer "mon-medshake.fr" par le domaine utilisé
    ServerName        mon-medsahke.fr
    ServerAdmin	      admin@mon-medshake.fr
    RedirectMatch     permanent ^(.*)$ https://mon-medshake.fr$1
    ServerAdmin		admin@mon-medshake.fr
    # Même si la connexion à l'instance ne se fait qu'au travers du VPN
    # il faut continuer d'utiliser https car certaines fonctionnalités
    # comme l'utilisation de la caméra par le navigateur web (utilisé
    # par "Phonecapture") ne fonctionneront pas sur via http (mesure
    # de sécurité implémentée dans les navigateurs web).
    SSLEngine On
    # Cet exemple utilise le certificat bidon fourni par le paquet
    # "ca-certificates" un certificat généré par Easy-RSA peut
    # avantageusement le remplacer
    SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    # Emplacement des fichier html public de l'installation MedShake EHR/EDC 
    DocumentRoot /var/www/medshake/EHR/public_html/
    DirectoryIndex index.php
    # Fichier de log dédié avec un format compatible avec le lecteur de log intégré 
    # à Medshake
    CookieName apacheLogUserID
    # /!\ le domaine doit être préfixé d'un point
    CookieDomain .mon-medshake.fr
    Define MEDSHAKEEHRLOGFILE /var/log/apache2/access_medshake.log
    SetEnv MEDSHAKEEHRLOGFILE ${MEDSHAKEEHRLOGFILE}
    LogFormat "%{%Y-%m-%d %H:%M:%S}t %{c}a %r %{Cookie}n" usertrack
    SetEnvIf Request_URI "\.png$|\.gif$|\.jpg$|\.svg$|\.js$|\.css$|\.map$|\.ico$|\.woff2" do_not_log
    CustomLog ${MEDSHAKEEHRLOGFILE} usertrack env=!do_not_log
    
    # Des règles de réécriture d'urls sont nécessaires(voir le public_html/.htaccess)
    # On s'assure que le module est bien chargé
    RewriteEngine On
    
    # N'autorise que le membre du réseau du VPN à accéder aux fichiers se trouvant 
    # dans ce dossier
    
        SetEnv MEDSHAKEEHRPATH /var/www/medshake/EHR/
        Require IP 10.32.64.0/24
        Options FollowSymLinks
        AllowOverride all
    
    
    # Accès aux url commençant par /phonecapture/ et /pubic/ autorisé aussi pour les
    # clients du réseau local (utilisation phone capture et signature des documents)
    
        # /!\ Replacer l'addresse ci-dessous par celle de votre réseau local
        Require ip 192.168.1.0/24
        Require IP 10.32.64.0/24
    
    # Autorise l'accès aux assets (js, css et images) et pages de maintenance 
    # autorisés aussi pour les clients du réseau local
    
        # Ces ressources peuvent êtres mises en cache
        Header setifempty Cache-Control "must-revalidate"
        # Fixe un bug présent dans le version de apache utilisé dans Debian 10(2.4.38)
        # qui gènère une entête http Etag mal formée et empéche un retour 304
        # quand la ressource est en cache.
        # voir https://bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22
        RequestHeader edit "If-None-Match" '^"((.*)-gzip)"$' '"$1", "$2"'
        Require ip 192.168.1.0/24
        Require IP 10.32.64.0/24
     
     # Bloque les accès aux fichiers composer (juste c'est plus propre)
     
         Require all denied