3 votes

Mettre en œuvre un pull anonyme mais un push utilisateur vérifié via HTTPS

Fondamentalement, comment le fais-je dans le dépôt Mercurial?

Actuellement, j'ai configuré l'emplacement dans Apache pour exiger SSL, utiliser une authentification de base et exiger un utilisateur valide. C'est un peu trop, car je veux permettre un tirage anonyme, mais exiger une authentification de base pour les pousseurs - actuellement, un nom d'utilisateur et un mot de passe sont nécessaires pour simplement visualiser le dépôt dans un navigateur web. Je voudrais exiger SSL en tout temps, et je ne veux pas vraiment héberger le même dépôt deux fois (pour avoir un emplacement différent pour le tirage seul, et un autre pour les pousseurs vérifiés).

4voto

Ramasamy Points 11

Ches Martin a un joli blog avec des détails sur la façon dont il a configuré Mercurial avec tout ce que vous demandez.

  require valid-user

Ce morceau de configuration Apache est nécessaire pour permettre les pulls anonymes (ou la navigation si publiée via hgweb) mais exiger tout de même un mot de passe pour les pushes.

2voto

radius Points 9485

Ce que vous cherchez est peut-être la directive LimitExcept d'Apache. Quelque chose comme :

  Require valid-user

Ainsi, un nom d'utilisateur/mot de passe sera nécessaire pour tout sauf une requête GET. Mais je ne connais pas Mercurial et ne sais pas comment hg push est fait. S'il s'agit d'une requête POST, ce sera bon, mais peut-être que POST est aussi nécessaire pour tirer.

0voto

martjno Points 1024

Vous compliquez grandement votre problème en exigeant SSL pour le pull anonyme, et je n'ai aucune idée de ce que vous visez en le faisant. Si n'importe qui peut effectuer un pull sans authentification, n'importe qui peut voir toutes les données simplement en demandant, rendant l'écoute du réseau totalement inutile, donc il n'y a aucun intérêt à les crypter.

Je recommande vivement de suivre la voie la plus simple en mettant votre distribution anonyme en http, et en réservant le https pour les push.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X