Projet

Général

Profil

Actions

Bug #2048

fermé

Non prise en compte de la variable httpServerBase

Bug #2048: Non prise en compte de la variable httpServerBase

Ajouté par Pierre TEISSONNIERE il y a presque 15 ans. Mis à jour il y a plus de 14 ans.

Statut:
Closed
Priorité:
High
Assigné à:
Catégorie:
Configuration
Version cible:
-
Début:
31/05/2011
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Firefox 3.x
Votre version de Silverpeas:
5.6
Système d'exploitation:
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

La variable httpServerBase ne semble pas être prise en compte.
Configuration : reverse proxy écoutant https://maplateforme et qui redirige en interne sur http://maplateforme
La variable httpServerBase est définie dans general.properties comme suit : httpServerBase=https\://maplateforme (Le \ est rajouté par SilverpeasSetting)

Connexion sur https://maplateforme => La page de login apparait
Tentative d'authentification : tentative de connexion et, au final erreur, parce que la page appelée est http://maplateforme
/silverpeas/Main/MainFrameSilverpeasV5.jsp;jsessionid=D532F8A4E4A4D0BE47D536B88AE8BF05
Si on appelle la même page en https, on est connecté mais sur la page d'accueil, httpServerBase n'est pas pris en compte non plus :
http://maplateforme/silverpeas/dt?dt.driverAction=RENDER&pc.portletMode=view&pc.remove=true&pc.portletId=silverpeas.LastPublicationsPortlet


Demandes liées 1 (0 ouverte1 fermée)

Lié à Silverpeas Core - Support #2126: Silverpeas dernière un NATClosedEmmanuel Hugonnet24/06/2011

Actions

Mis à jour par Emmanuel Hugonnet il y a presque 15 ans Actions #1

  • Statut changé de New à Feedback

La redirection après authentification se base sur ce qui est défini.
httpServerBase permet de gérer les proxies pour les liens et les notifications, il n'a pas pour but de remplacer le mod_rewrite qui devrait être associé au mod_proxy de votre serveur Apache.

Mis à jour par Pierre TEISSONNIERE il y a presque 15 ans Actions #2

Je n'ai pas tout compris.

"La redirection après authentification se base sur ce qui est défini." => Défini à quel endroit ?

Pour ma part, j'ai https://maplateforme/ dans la configuration de domainSilverpeas. Dans config.xml, j'ai :
<var name="JBOSS_LISTEN_PORT" value="80"/>
<var name="URL_SERVER" value="https://maplateforme&quot;/>
et dans mon CustomerSettings, je défini httpServerBase = https://maplateforme

Je n'ai nulle part http://maplateforme (est-ce déduit du port d'écoute JBoss ?)

Mis à jour par Emmanuel Hugonnet il y a presque 15 ans Actions #3

Le port d'écoute de JBoss ainsi que le nom du serveur sont calculés par rapport à la requête HTTP entrante.
"La redirection après authentification se base sur ce qui est défini." <-- mes excuses je voulais dire par rapport à ce qui est défini pour l'authentification.
En effet, il est possible de rediriger l'utilisateur vers le site en http:// après une authentification en https://.

Soit vous configurez le rewritting d'URL dans la balise VirtualHost d'Apache correspondant à votre proxy.
Sinon il existe la possibilité d'utiliser mod_jk avec JBoss.

Mis à jour par Pierre TEISSONNIERE il y a presque 15 ans Actions #4

Le reverse proxy ne fait que renvoyer les requêtes d'une machine a une autre. Il ne peut pas modifier, par exemple, le code HTML renvoyé par l'application (pour les liens présents sur la page d'accueil).

En lisant cet article (http://www.silverpeas.org/docs/core/securing.html), il est dit :
<fileset root="${SILVERPEAS_HOME}/properties/com/stratelia/webactiv/">
<configfile name="general.properties">
<parameter key="server.ssl">false</parameter>
<parameter key="server.http.port">8000</parameter>
</configfile>
</fileset>

Donc, si je veux rester en HTTPS, je défini server.ssl à true. Même problème.

Y-a-t-il une doc à jour pour configurer Silverpeas 5.6 et JBoss 6 en http avec un reverse proxy frontal qui assure le SSL ?

Mis à jour par Pierre TEISSONNIERE il y a presque 15 ans Actions #5

Etant donné que je suis toujours bloqué, je repose ma question : Y-a-t-il une doc à jour pour configurer Silverpeas 5.6 et JBoss 6 en http avec un reverse proxy frontal qui assure le SSL ? Une autre doc qui puisse s'appliquer ?

Mis à jour par Emmanuel Hugonnet il y a presque 15 ans Actions #6

Non nous ne gérons pas cette configuration mais voici un exemple de configuration :
http://blogs.adobe.com/cguerrero/2010/10/27/configuring-a-reverse-proxy-with-apache-that-handles-https-connections/

Ou celui-ci (qui utilise mod_jk comme suggéré plus haut)
http://mauricedechateau.blogspot.com/2011/01/use-apache-as-secure-reverse-proxy-for.html

Mis à jour par Pierre TEISSONNIERE il y a presque 15 ans Actions #7

Bizarre. Il me semblait que cette configuration était gérée ou tout du moins répandue parmi vos clients.

cf :
https://www.silverpeas.org/redmine/issues/1320
https://www.silverpeas.org/redmine/issues/1230

Mis à jour par Emmanuel Hugonnet il y a presque 15 ans Actions #8

Il n'y a pas de changement de protocole dans vos exemples, vous avez parlé de prise en charge du SSL par le serveur Apache ce qui a un impact sur la configuration du Jboss (cf. le premier lien). D'ailleurs le httpServerBase a été introduit pour compenser certaines limitations justement.

Mis à jour par Emmanuel Hugonnet il y a presque 15 ans Actions #9

http://tomcat.apache.org/tomcat-5.5-doc/proxy-howto.html indique bien qu'il faut configurer les paramètres proxyName, scheme et proxyPort pour que le serveur Tomcat/Jboss calcule ses requêtes correctement.
Un exemple de configuration Apache SSL + Tomcat sans SSL : http://confluence.atlassian.com/display/DOC/Using+Apache+with+mod_proxy
Est ce que cela fonctionne et si non quel comportement attendez-vous ?

Mis à jour par Pierre TEISSONNIERE il y a presque 15 ans Actions #10

Voici comme convenu le retour du paramétrage dans le cas où Apache écoute en HTTPS (TCP/443) et JBOSS écoute en HTTP (TCP/80)

Pour la configuration du reverse proxy dans Apache, au niveau du virtual host ou global si il n'y a pas de virtual host :

ProxyTimeout 600
ProxyRequests off
ProxyPreserveHost on
ProxyPass / http://internal.domain.tld/ keepalive=on
ProxyPassReverse / http://internal.domain.tld/

Il ne semble pas y avoir de différence avec ProxyPreserveHost actif ou non.
keepalive=on est utile si il y a un firewall entre le reverse proxy et le serveur jboss
Attention, dans ce bloc, il n'y a pas la configuration de SSL
internal.domain.tld doit être remplacé par le nom de votre serveur JBOSS. Le nom doit pouvoir être résolu.

Au niveau de jboss 6, dans JBOSS_HOME\server\default\deploy\jbossweb.sar\server.xml, ajouter la partie en gras dans la configuration du connecteur :

<Connector URIEncoding="UTF-8" address="${jboss.bind.address}" port="${jboss.web.http.port}" protocol="HTTP/1.1" redirectPort="${jboss.web.https.port}" *proxyName="external.domain.tld" proxyPort="443" scheme="https"* />

Apache écoutant en HTTPS et JBOSS en HTTP, il faut préciser scheme="https" et proxyPort="443". Inutile de le préciser si Apache et Tomcat écoutent tous les deux en HTTP.
external.domain.tld doit être remplacé par le nom machine via lequel les utilisateurs se connectent (nom public)

A noter que JBoss 6 écoute par défaut uniquement l'adresse localhost (127.0.0.1). Il est possible de préciser l'adresse avec l'option -b après run.bat dans silverpeas_start_jboss.cmd
Il est aussi possible de le faire en ajoutant à la fin de JAVA_OPTS dans silverpeas_start_jboss.cmd -Djboss.bind.address=0.0.0.0
Afin de ne pas avoir à configurer ce paramètre à chaque mise à jour, il serait intéressant de modifier JAVA_OPTS dans silverpeas_start_jboss.cmd en ajoutant à la fin %JAVA_OPTS% et en déclarant comme variable d’environnement JAVA_OPTS=-Djboss.bind.address=0.0.0.0

Mis à jour par Pierre TEISSONNIERE il y a presque 15 ans Actions #11

JBoss ne renvoie pas de cookies sécurisés. Il est donc nécessaire de les modifier au niveau du reverse proxy grâce au module mod_headers. La configuration suivante modifiera l'ensemble des cookies.

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

Mis à jour par Nicolas Eysseric il y a plus de 14 ans Actions #12

  • Catégorie mis à Configuration
  • Statut changé de Feedback à Assigned
  • Assigné à mis à Emmanuel Hugonnet

Mis à jour par Emmanuel Hugonnet il y a plus de 14 ans Actions #13

  • Statut changé de Assigned à Closed
  • % réalisé changé de 0 à 100

Documentation enrichie

Actions

Formats disponibles : PDF Atom