Les transactions entre les produits clients et MyReport Server exploitent les fonctions gRPC, via le protocole HTTP/2, sur le port 9089 (configurable).
Les données transférées sont préalablement compressées et binarisées.
Important
Si vous rencontrez des difficultés pour vous connecter au serveur MyReport à partir d’un client enrichi MyReport, vérifiez auprès de votre administrateur réseau que votre pare-feu est configuré comme suit :
- Le port MyReport Server (9089 par défaut) est ouvert.
- L'IPS (Intrusion Prevention System) est désactivé pour le trafic entre les clients et le serveur sur ce port.
Afin de garantir la confidentialité et l’intégrité des données, vous pouvez sécuriser les transactions entre les produits clients (MyReport Data, Builder, Administrator, etc.) et MyReport Server à l’aide d’un certificat SSL.
Ce système repose sur une connexion TCP sécurisée par SSL, avec un certificat installé côté serveur. Les clients doivent alors faire confiance à ce certificat, soit parce qu'il provient d'une autorité de certification reconnue, soit parce qu'il a été explicitement approuvé sur le client.
Cette option permet d'activer l'HTTPS/2 et de chiffrer les transaction entre le client et le serveur
Important
A partir de la version 6.1.0, dans une volonté de respecter les bonnes pratiques d'utilisation de connexions sécurisées, il n'est désormais plus possible d'utiliser une connexion sécurisée vers un domaine différent du domaine du serveur MyReport.
MyReport impose l'utilisation d'un certificat signé par une autorité d'approbation publique sur le nom de domaine utilisé pour le serveur MyReport.
Un certificat valide doit d’abord être installé à partir du Magasin de certificat Windows sur le serveur MyReport dans le dossier «Ordinateur local > Personnel».
La liste des certificats est accessible à l’aide de l’outil Windows «Gérer les certificats d’ordinateur» (outil «certlm»).
Récapitulatif des cas d'usages :
- Aucun certificat n'est paramétré : connexion OK
- Le client se connecte en connexion sécurisée sur un serveur ne l'acceptant pas : connexion KO
- Le client se connecte sans connexion sécurisée sur un serveur n'acceptant que des connexions sécurisées : connexion KO
- Le serveur est paramétré avec un certificat invalide (date de validité expirée, nom d'objet du certificat différent) : connexion KO
- Le client se connecte en connexion sécurisée sur un serveur ayant un certificat valide avec le même nom de domaine : connexion OK
Pour les différents types de certificats (autosigné, autosigné approuvé en local, signé) :
- Si les noms de domaines sont différents entre le certificat et le serveur : connexion KO
- Si le nom de domaine du certificat correspond au serveur et est installé sur le client (autosigné) : connexion OK
- Si le certificat est approuvé localement sur le serveur, mais pas sur le client : connexion KO (UntrustedRoot)
Quelques exemples
- Si mon client se connecte sur mr.dev et le certificat est sur mr.tech : connexion KO
- Si mon client se connecte sur mr.dev et le certificat est sur .dev : connexion KO
- Si mon client se connecte sur mr.dev et le certificat est sur *.dev : connexion OK
- Si mon client se connecte sur mr.dev et le certificat est sur mr.dev : connexion OK
Les erreurs SSL sont visibles dans les logs erreurs clients.
Le nom de domaine de la machine serveur doit être le même que le domaine défini dans le certificat.
Tableau 1.5. Erreurs communes liées au SSL :
Erreur |
Description |
---|---|
Cannot determine the frame size or a corrupted frame was received |
Le client appelle en SSL et le serveur n'accepte pas le SSL. |
An HTTP/2 connection could not be established because the server did not complete the HTTP/2 handshake |
Le serveur refuse la connexion. Cela peut venir de plusieurs choses :
|
The remote certificate was rejected by the provided RemoteCertificateValidationCallback.Log erreur client : Une chaîne de certificats a été traitée mais s’est terminée par un certificat racine qui n’est pas approuvé par le fournisseur d’approbation (RemoteCertificateChainErrors) |
Le client appelle en SSL mais ne connait pas le certificat SSL du serveur (souvent au autosigné) Solution : Installer le certificat autosigné côté client. |
The remote certificate was rejected by the provided RemoteCertificateValidationCallback. Log erreur client : Une chaîne de certificats a été traitée mais s’est terminée par un certificat racine qui n’est pas approuvé par le fournisseur d’approbation (RemoteCertificateNameMismatch, RemoteCertificateChainErrors) |
L'url de connexion au serveur ne correspond au nom de domaine défini dans le certificat. Solution : générer un certificat autosigné avec le nom du domaine serveur et l'installer sur le client OU générer un certificat signé par une autorité d'approbation. |