# 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-medshake.fr ServerAdmin admin@mon-medshake.fr RedirectMatch permanent ^(.*)$ https://mon-medshake.fr/$1 # Trafic https # /!\ Remplacer "mon-medshake.fr" par le domaine utilisé ServerName mon-medshake.fr ServerAdmin admin@mon-medshake.fr # # Configuration SSL # # Charge le Module SSL SSLEngine On # /!\ Adapter en fonction du cetificat utilisé SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key # Ajoute l'entête http pour le HSTS Header always set Strict-Transport-Security "max-age=0; includeSubDomains" # Fichier de log dédié avec un format compatible avec le lecteur de log intégré # à Medshake CookieName apacheLogUserID CookieDomain .mon-medshake.fr Define MEDSHAKEEHRLOGFILE /var/log/apache2/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 # Charge le module de réécriture de d'url RewriteEngine On DocumentRoot /srv/medshake/EHR/public_html/ DirectoryIndex index.php # uniquement les clients du réseau local (modfier 192.168.1.0/24 en fonction # de la configuration de votre réseau local) Require ip 192.168.1.0/24 Require local # # Si le fichier /srv/medshake/.uncrypted n'existe pas c'est que les données # MedShake n'ont pas été déchiffrés # On redirige donc vers la page qui permet la saisie de la clé de déchiffrement # RewriteCond /srv/medshake/.uncrypted !-f RewriteRule ^(.*)$ unix:/run/php/php-fpm-medshake.sock|fcgi://localhost/usr/local/lib/medshake/www/index.php [P,L] # Passe tous les fichers php existants à php-fpm RewriteCond /srv/medshake/.uncrypted -f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -f RewriteRule ^(.+\.php)$ unix:/run/php/php-fpm-medshake.sock|fcgi://localhost/%{DOCUMENT_ROOT}/$1 [P] # Route /public/ au script public.php RewriteCond /srv/medshake/.uncrypted -f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f RewriteRule ^(/public/)(.*)$ unix:/run/php/php-fpm-medshake.sock|fcgi://localhost/%{DOCUMENT_ROOT}/public.php [P] # Route /phonecapture/ à phonecapture.php RewriteCond /srv/medshake/.uncrypted -f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f RewriteRule ^(/phonecapture/)(.*)$ unix:/run/php/php-fpm-medshake.sock|fcgi://localhost/%{DOCUMENT_ROOT}/phonecapture.php [P] # Route toutes les autres destinations où le fichier n'existe pas à index.php RewriteCond /srv/medshake/.uncrypted -f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f RewriteRule ^(.*)$ unix:/run/php/php-fpm-medshake.sock|fcgi://localhost/%{DOCUMENT_ROOT}/index.php [P] # uniquement les clients du réseau local (modifier 192.168.1.0/24 en fonction # de la configuration de votre réseau local) Require ip 192.168.1.0/24 Require local # Ces ressources peuvent êtres mise 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 retrour 304 # quand la ressource est en cache. # voire https://bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22 RequestHeader edit "If-None-Match" '^"((.*)-gzip)"$' '"$1", "$2"' # uniquement les clients du réseau local (modfier 192.168.1.0/24 en fonction # de la configuration de votre réseau local) Require ip 192.168.1.0/24 Require local # Bloque les accès aux fichiers composer (juste c'est plus propre) Require all denied