Projet

Général

Profil

Actions

Anomalie #1350

fermé

La page de connexion httpS du wiki redirige vers http(pas-S)

Ajouté par Sanete Reugardpa il y a plus de 11 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Élevée
Assigné à:
Catégorie:
Task
Version cible:
Début:
29/08/2013
Echéance:
% réalisé:

0%

Temps estimé:
Difficulté:
2 Facile

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.

Mis à jour par Christian P. Momon il y a environ 4 ans

  • Assigné à mis à François Poulain
Actions

Formats disponibles : Atom PDF