Projet

Général

Profil

Actions

Bug #4793

fermé

L'utilisation de Silverpeas avec un Reverse Proxy HTTPS ne fonctionne plus

Ajouté par Pierre TEISSONNIERE il y a plus de 11 ans. Mis à jour il y a environ 11 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
07/08/2013
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
5.12
Système d'exploitation:
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

Fonctionnement Ok en 5.11.4 et ne fonctionne plus dans les versions à partir de 5.12

Le principe est de laisser le reverse proxy gérer le HTTPS et qu'il communique en HTTP avec Silverpeas. La configuration se fait au niveau du domaine (https au lieu de http) et de server.xml dans JBOSS :
<Connector URIEncoding="UTF-8" address="0.0.0.0" port="80" protocol="HTTP/1.1" proxyName="nom_public.domaine.local" proxyPort="443" scheme="https"/>

Lorsque l'utilisateur se connecte, l'AuthenticationServlet renvoie maintenant vers l'URL:
http://nom_public.domaine.local:443/silverpeas/Main/MainFrameSilverpeasV5.jsp

Et donne la page :
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />
Instead use the HTTPS scheme to access this URL, please.<br />
<blockquote>Hint: <a href="https://nom_public.domaine.local/&quot;&gt;&lt;b&gt;https://nom_public.domaine.local/&lt;/b&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;/p>
<hr>
<address>Apache/2.2.22 (Debian) Server at nom_public.domaine.local Port 443</address>
</body></html>

Il y a quelque chose qui a changé (probablement au niveau de l'Authentication Servlet) depuis la version 5.12.

Mis à jour par Miguel Moquillon il y a plus de 11 ans

  • Statut changé de New à Resolved

Effectivement, c'est devenu le fonctionnement normal avec la 5.12.
Afin de pouvoir mettre en place les cookies sécurisés, pour des raisons de sécurité, à partir de la version 5.12 la chaîne HTTPS doit être complète de bout en bout:
client web <-> front-end web (apache par exemple en reverse-proxy) <-> silverpeas
Il n'est donc plus possible d'avoir une connexion sécurisée du client au front-end web puis une connexion claire du front-end web à silverpeas.

Mis à jour par Pierre TEISSONNIERE il y a plus de 11 ans

  • Statut changé de Resolved à Feedback

Bonjour,

Je t'ai fait un retour sur le ticket concernant les cookies sécurisés. N'hésite pas à m'appeler si tu as des questions. Je vais tester en 5.11.4 dans les différents scénarios possibles pour te donner un maximum d'informations.

Mis à jour par Miguel Moquillon il y a plus de 11 ans

  • Statut changé de Feedback à Qualified
  • Version cible mis à 89

Au vue du contexte d'utilisation du reverse-proxy, et qui se trouve être assez commun, je recommande effectivement de supporter à nouveau le cas :
client web <-- HTTPS --> reverse-proxy <-- HTTP --> Silverpeas
Pour ce faire, dans ce cas, étant donné que le cookie ne pourra plus être sécurisé du côté de Silverpeas, c'est de le sécuriser côté reverse-proxy. Si celui-ci est un Apache, il pourra se faire par exemple via l'instruction :

Header edit Set-Cookie ^(.*)$ $1;Secure;HttpOnly

Mis à jour par Miguel Moquillon il y a plus de 11 ans

  • Version cible changé de 89 à Version 5.12.4

Mis à jour par David Lesimple il y a environ 11 ans

  • Assigné à mis à Miguel Moquillon

Mis à jour par Miguel Moquillon il y a environ 11 ans

  • Statut changé de Qualified à In progress...

Mis à jour par Miguel Moquillon il y a environ 11 ans

  • Statut changé de In progress... à Resolved
  • % réalisé changé de 0 à 100

Dans le cas où Silverpeas est derrière un reverse-proxy qui gère les connexions sécurisées pour lui, il est nécessaire de lui indiquer ce cas en valorisant le paramètre server.ssl à true dans le fichier properties/org/silverpeas/general.properties (en plus d'indiquer à JBoss qu'il est placé derrière un proxy).

cf. PR https://github.com/Silverpeas/Silverpeas-Core/pull/397

Mis à jour par Yohann Chastagnier il y a environ 11 ans

  • Statut changé de Resolved à Closed

Validé et intégré.

Actions

Formats disponibles : Atom PDF