Anomalie #1350
ferméLa 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/
Mis à jour par Anonyme il y a environ 11 ans
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.
Mis à jour par Vincent-Xavier JUMEL il y a plus de 10 ans
- Catégorie mis à Task
- Version cible mis à Backlog
Mis à jour par François Poulain il y a environ 8 ans
- Description mis à jour (diff)
- Statut changé de Nouveau à 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.
Mis à jour par François Poulain il y a environ 8 ans
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.
Mis à jour par François Poulain il y a environ 8 ans
- Statut changé de Confirmé à En cours de traitement
Mis à jour par François Poulain il y a environ 8 ans
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
Mis à jour par François Poulain il y a environ 8 ans
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.
Mis à jour par François Poulain il y a presque 8 ans
- Statut changé de En cours de traitement à 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.