Aller au contenu principal

Installation derrière un reverse-proxy

Lorsqu'une application Lagoon est déployée derrière un reverse-proxy ou une gateway, il faut activer le transfert d'en-têtes HTTP.

Activation du transfert d'en-têtes HTTP​

Ajouter la configuration suivante dans appsettings.json :

{
"Lagoon": {
"UseForwardedHeaders": true
}
}

Le middleware UseForwardedHeaders est automatiquement ajouté par Lagoon avec l'option ForwardedHeaders.All.

Pour plus d'informations, voir la documentation Microsoft :

La méthode OnConfigureForwardedHeaders permet de personnaliser le transfert d'en-têtes.

Erreur OpenID Connect request cannot be retrieved​

Si la méthode GET /connect/authorize retourne l'exception The OpenID Connect request cannot be retrieved, c'est probablement parce que le nom d'hôte de la requête HTTP ne correspond pas au PublicUrl défini dans appsettings.json.

Vérifier que :

  • l'URL définie en tant que PublicUrl est correcte ;
  • l'option UseForwardedHeaders est à true dans le fichier de configuration.

Azure Application Gateway​

Azure Application Gateway n'envoie pas l'en-tête X-Forwarded-Host, mais l'en-tête X-Original-Host.

Il faut modifier la configuration de l'application en ajoutant dans le fichier Main.cs du projet Server la méthode suivante :

///<inheritdoc/>
protected override void OnConfigureForwardedHeaders(ForwardedHeadersOptions options)
{
base.OnConfigureForwardedHeaders(options);
options.ForwardedHostHeaderName = "X-Original-Host";
}
Remarque

Pour plus de souplesse, la valeur peut être lue à partir de la configuration.