Anomalie #1350
closedLa page de connexion httpS du wiki redirige vers http(pas-S)
0%
Description
Pour reproduire:
- Vider ses cookies
- Aller sur https://wiki.april.org/
- Cliquer sur "Créer un compte ou se connecter"
- Rentrer ses identifiants
Vérifier que le formulaire pointe sur HTTPS
- Cliquer sur "Connexion"
Noter qu'on se prend un 302 vers http://wiki.april.org/
Updated by Anonymous about 11 years ago
Je souhaite ajouter que en https, un certain nombre d'éléments restent en http. Il serait amha utile soit de faire en sorte que le wiki soit sur ://wiki.april.org ou basculer totalement en https.
Updated by Vincent-Xavier JUMEL over 10 years ago
- Category set to Task
- Target version set to Backlog
Updated by François Poulain about 8 years ago
- Description updated (diff)
- Status changed from Nouveau to Confirmé
Oui c'est juste.
Les entêtes de la transaction :
POST:
Host: wiki.april.org User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.5.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: fr-FR,fr;q=0.5 Accept-Encoding: gzip, deflate DNT: 1 Referer: https://wiki.april.org/index.php?title=Sp%C3%A9cial:Connexion&returnto=Accueil Cookie: bling Connection: keep-alive
Réponse :
Cache-Control: private, must-revalidate, max-age=0 Connection: keep-alive Content-Length: 0 Content-Type: text/html; charset=utf-8 Date: Thu, 20 Oct 2016 12:27:57 GMT Expires: Thu, 01 Jan 1970 00:00:00 GMT Location: http://wiki.april.org/w/Accueil Server: nginx/1.6.2 Set-Cookie: blang Vary: Accept-Encoding,Cookie X_FORWARDED_PROTO: https x-content-type-options: nosniff
Le "location" défini par médiawiki pousse vers http.
Updated by François Poulain about 8 years ago
Bon,
A priori le soucis vient du fait que la liaison entre le nginx et le apache est en http.
Le code incriminé est ici (/var/lib/mediawiki/includes/OutputPage.php l. 2243) :
# Standards require redirect URLs to be absolute $this->mRedirect = wfExpandUrl( $this->mRedirect, PROTO_CURRENT );
D'après includes/GlobalFunctions.php
:
* The meaning of the PROTO_* constants is as follows: * PROTO_HTTP: Output a URL starting with http:// * PROTO_HTTPS: Output a URL starting with https:// * PROTO_RELATIVE: Output a URL starting with // (protocol-relative URL) * PROTO_CURRENT: Output a URL starting with either http:// or https:// , depending * on which protocol was used for the current incoming request
Je vois deux façon de résoudre ça :
- causer https entre le nginx et le apache ;
- patcher pour forcer le PROTO_HTTPS.
Je suis étonné qu'on n'ait pas ce même type d'ennui avec d'autres applications.
Updated by François Poulain about 8 years ago
- Status changed from Confirmé to En cours de traitement
Updated by François Poulain about 8 years ago
D'ici le 17 janvier on saura peut être si on peut commenter la ligne de code, cette proposition autorisant les URL sans plan dans les entêtes Location : https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-20#section-9.13
Updated by François Poulain about 8 years ago
Ha beh en fait on peut déjà, d'après https://tools.ietf.org/html/rfc7231#section-7.1.2
Alors, une solution acceptable est de commenter la ligne qui force la définition d'une URL absolue.
Updated by François Poulain almost 8 years ago
- Status changed from En cours de traitement to Fermé
En fait non. Mediawiki vérifie correctement la présence d'un x-forwarded-proto. Le soucis venait du reverse proxy qui ne transmettait pas cet entête. Cf bug #1840.
Updated by Christian P. Momon almost 4 years ago
- Assignee set to François Poulain