1

hgweb を使用して公開され、Apache 2.2 で保護されたいくつかの Mercurial リポジトリがあります。

複数のセキュリティ構成を持つ方法はありますか?

ほとんどのリポジトリにデフォルト構成を設定してから、特定のリポジトリに個別の構成を適用したいと考えています。

ファイルは次のhttpd.confようになります

WSGIScriptAlias /hg "C:/hg/hgweb/hgweb.wsgi"

<Directory "/hg/repo_one">
    Order deny,allow
    AuthType Basic
    AuthName "R1 Secure Area"
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/repo_one.pwd
    Require valid-user
</Directory>

<Directory "/hg">
    Order deny,allow
    AuthType Basic
    AuthName "Secure Area"
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/passwords
    Require valid-user
</Directory>
4

1 に答える 1

0

これを機能させるために私がしたことは次のとおりです。

別のセキュリティが必要なリポジトリを、 childではなくsiblngである独自のディレクトリに移動し、 hgweb.wsgiのコピーを作成しました。

私のディレクトリ構造は次のようになりました

c:\hg-pub\hgweb.wsgi
c:\hg-pub\hgweb.config
c:\hg-pub\repo-one\.hg
...
c:\hg\hgweb.wsgi
c:\hg\hgweb.config
c:\hg\repo-two\.hg
c:\hg\repo-three\.hg

そして、私のhttpd.confファイルは次のようになります

WSGIScriptAlias /hg "C:/hg/hgweb.wsgi"
WSGIScriptAlias /pub/hg "C:/hg-pub/hgweb.wsgi"

<Directory "C:/hg-pub">
    Order deny,allow
    AuthType Basic
    AuthName "R1 Secure Area"
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/repo_one.pwd
    Require valid-user
</Directory>

<Directory "C:/hg">
    Order deny,allow
    AuthType Basic
    AuthName "Secure Area"
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/passwords
    Require valid-user
</Directory>

注意すべき重要事項は、

  1. 2 つのリポジトリの場所は、ディスク上で完全に分離されています。
  2. 2 つの WSGIScriptAlias パスは完全に独立しています
于 2013-09-03T13:51:35.837 に答える