Proxy y es-tu ?

Deux jours complets que je m’arrache les cheveux à essayer de comprendre pourquoi l’update de Wordpress fonctionne avec mon proxy configuré alors que Dotclear pas.

Eh bien en fait, ça fonctionne pas non plus avec Wordpress ! Enfin si, mais pas directement. Je m’explique :

Pour vérifier une mise à jour, Wordpress passe la requête en HTTPS au Proxy. Si celle-ci échoue, alors une deuxième tentative est faite en HTTP simple, et bien sûr celle-ci passe tout droit et renvoie un joli code 200 avec toutes les infos attendues.

POST http://api.wordpress.org/core/version-check/1.7/?version=4.6.1&php=7.0.8&locale=fr_FR&mysql=5.5.42&local_package=fr_FR&blogs=1&users=5&multisite_enabled=0&initial_db_version=21707 HTTP/1.1
Host: api.wordpress.org
User-Agent: WordPress/4.6.1; http://localhost/wordpress/
Accept-Encoding: deflate;q=1.0, compress;q=0.5, gzip;q=0.5
wp_install: http://localhost/wordpress/
wp_blog: http://localhost/wordpress/
Content-Length: 1011
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Connection: Close

translations=%7B%22admin%22%3A%7B%22fr_FR%22%3A%7B%22POT-Creation-Date%22%3A%22%22%2C%22PO-Revision-Date%22%3A%222016-09-16+16%3A12%3A56%2B0000%22%2C%22Project-Id-Version%22%3A%22Administration%22%2C%22X-Generator%22%3A%22GlotPress%5C%2F2.1.0-alpha%22%7D%7D%2C%22admin-network%22%3A%7B%22fr_FR%22%3A%7B%22POT-Creation-Date%22%3A%22%22%2C%22PO-Revision-Date%22%3A%222016-07-17+06%3A41%3A12%2B0000%22%2C%22Project-Id-Version%22%3A%22Network+Admin%22%2C%22X-Generator%22%3A%22GlotPress%5C%2F2.1.0-alpha%

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 20 Sep 2016 08:22:30 GMT
Content-Type: application/json; charset=UTF-8
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Cache: MISS from localhost
Via: 1.1 localhost (squid/3.5.15)
Connection: close

{"offers":[{"response":"latest","download":"http:\/\/downloads.wordpress.org\/release\/fr_FR\/wordpress-4.6.1.zip","locale":"fr_FR","packages":{"full":"http:\/\/downloads.wordpress.org\/release\/fr_FR\/wordpress-4.6.1.zip","no_content":false,"new_bundled":false,"partial":false,"rollback":false},"current":"4.6.1","version":"4.6.1","php_version":"5.2.4","mysql_version":"5.0","new_bundled":"4.4","partial_version":false}],"translations":[]}

Du côté de Dotclear, depuis qu’on est passé à HTTPS sur le serveur, on redirige systématiquement les requêtes en HTTP vers HTTPS, du coup, forcément, pour ceux qui ont un proxy rétif au HTTPS, ça va pas fonctionner !

Pour conclure :

  1. Wordpress et Dotclear sont logés à la même enseigne concernant les requêtes HTTPS à travers le proxy, à un bémol près : Wordpress utilise la librairie Curl si elle est disponible et cette dernière s’en sort beaucoup mieux avec les proxy en HTTPS.
  2. Le site api.wordpress.org répond aux deux schémas, HTTP et HTTPS, sans renvoyer la 1re sur la seconde.

Du coup va falloir regarder comment gérer ça au mieux côté Dotclear, en essayant le schéma HTTP si HTTPS échoue et faire en sorte que le serveur ne redirige pas HTTP vers HTTPS.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/13003

Haut de page