# 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