perusio / drupal-with-nginx

Running Drupal using nginx: an idiosyncratically crafted bleeding edge configuration.
855 stars 246 forks source link

403 forbidden with private files #93

Closed ghost closed 11 years ago

ghost commented 11 years ago

Hello,

I have a 403 forbidden for each file served via the private folder. I can't see any thumbnail, favicon, logo, etc...

I tried to change the path for my private folder, to modify the system/files rule, mothing changes.

Can you help me ?

Thanks.

ghost commented 11 years ago

L'accès aux images par les anonymes est résolu:

http://drupal.org/node/1265532

Par ce module: http://drupal.org/project/private_files_download_permission

Et une règle concernant tout le dossier privé.

Par contre, j'ai toujours ce problème d'images qui ne s'affichent pas lorsque l'utilisateur est autorisé.

ghost commented 11 years ago

J'ai remis à jour mon gist: https://gist.github.com/Lengronne/c64d67fac80ed251b0e2

ghost commented 11 years ago

Par contre mon tableau de bord me ressort ça:

 Private file directory web access status   Unprotected
 Private files are acessible from the web. Protect them please with this configuration.

Les deux modules doivent peut-être être en conflit.

ghost commented 11 years ago

J'ai retiré le nouveau module. Le tableau de bord affiche toujours l'erreur mais j'ai retrouvé le comportement d'avant (première révision du Gist). Je vais reprendre le site dans une dev et le nettoyer en espérant régler le problème.

ghost commented 11 years ago

Re bonjour,

j'ai fait le test à partir d'un drupal vierge. Je n'y ai mis que http://drupal.org/project/nginx_accel_redirect et http://drupal.org/project/filefield_nginx_progress. Le problème est le même.

Je ne sais pas si c'est aussi un bug mais la page de config de nginx_accel_redirect n'a pas de menu, il faut taper le chemin correct pour tomber sur la config.

Voici un gist sur l'avatar d'un utilisateur qui est dans le dossier privé mais visible par un anonyme:

https://gist.github.com/Lengronne/2db5438789dbac66a474

Voici un gist de la page de profil de ce même utilisateur et vu par lui. L'avatar n'est pas accessible:

https://gist.github.com/Lengronne/d6fe5831c48a1714775d

Comme tu vois, l'avatar sur la page de profil n'est pas cherché au bon endroit. Et l'endroit où il est est accessible par tous.

J'ai vraiment besoin d'aide. Le site est passé en prod hier et ce bug empêche les utilisateurs de pouvoir mettre des infos privées.

ghost commented 11 years ago

Je t'ai mis ma config PHP. C'est là que sont gérés les cookies normalement.

https://gist.github.com/Lengronne/ce6be3fc071b41054dce

Le chemin du dossier de session est désactivé. C'est Memcache qui gère à travers php-memcache.

ghost commented 11 years ago

Je te paye un pot quand je monte sur Paris si on y arrive ^^.

ghost commented 11 years ago

J'ai été marqué comme spam hier. Je suis de retour.

ghost commented 11 years ago

J'ai refait une sandbox et j'ai pratiquement rien changé à la config nginx. J'ai enlevé les ipv6, les https, modifié la racine web, pris la config drupal_boost.conf et ajouté server_names_hash_bucket_size: 64 dans nginx.conf.

J'ai pris ta config PHP-FPM https://github.com/perusio/php-fpm-example-config. J'ai supprimé le php-fpm.conf d'avant et changé le php5-fpm.conf en php-fpm.conf.

J'ai activé mon site avec https://github.com/perusio/nginx_ensite.

J'ai installé http://drupal.org/project/nginx_accel_redirect et voilà ma page:

Capture du 2013-04-18 10:56:32

Comme tu peux le voir, il y a un onglet de navigation vide. Il est apparu avec nginx_accel_redirect et doit correspondre à mon avis à l'onglet pour accéder à la config du module et est mal reconnu et placé dans le mauvais menu.

Comme tu peux le voir aussi, le bug est toujours là. L'avatar ne s'affiche pas car il donne un access denied. Toutes les erreurs listées plus haut sont encore là.

Je viens de perdre mon dernier cheveu et mes ongles sont rongés jusqu'à l'os. :)

ghost commented 11 years ago

Y-a-t-il un moyen de t'envoyer la sandbox complète pour que tu puisse tester ? C'est une KVM.

ghost commented 11 years ago

J'ai comparé avec une install apache où tout fonctionne. Il y a un access denied parce que le site ne crée pas le thumbnail pour un avatar. Les chemins sont corrects mais le thumbnail n'étant pas là, il donne un access denied.

Par contre, l'image originale est accessible sans contrôle d'accès.

ghost commented 11 years ago

J'ai trouvé pour le problème de thumbnail. C'est dû à un security fix de D7.20.

http://drupal.org/project/image_allow_insecure_derivatives

C'est pas parfait mais c'est mieux. Et ta config n'y était pour rien.

Désolé.

Merci encore.

Je te dois quand même un coup à boire.