Project

General

Profile

Actions

Bug #4793

closed

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

Added by Pierre TEISSONNIERE over 8 years ago. Updated about 8 years ago.

Status:
Closed
Priority:
Normal
Category:
-
Start date:
08/07/2013
Due date:
% Done:

100%

Estimated time:
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/"><b>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.

Actions #1

Updated by Miguel Moquillon over 8 years ago

  • Status changed from New to 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.

Actions #2

Updated by Pierre TEISSONNIERE over 8 years ago

  • Status changed from Resolved to 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.

Actions #3

Updated by Miguel Moquillon over 8 years ago

  • Status changed from Feedback to Qualified
  • Target version set to 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

Actions #4

Updated by Miguel Moquillon over 8 years ago

  • Target version changed from 89 to Version 5.12.4
Actions #5

Updated by David Lesimple over 8 years ago

  • Assignee set to Miguel Moquillon
Actions #6

Updated by Miguel Moquillon about 8 years ago

  • Status changed from Qualified to In progress...
Actions #7

Updated by Miguel Moquillon about 8 years ago

  • Status changed from In progress... to Resolved
  • % Done changed from 0 to 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

Actions #8

Updated by Yohann Chastagnier about 8 years ago

  • Status changed from Resolved to Closed

Validé et intégré.

Actions

Also available in: Atom PDF