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

这是我为使其正常工作所做的工作。

我将需要单独安全性的存储库移动到它自己的目录中,该目录是siblng,而不是child,并制作了 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. 两个 WSGIScriptAlias 路径是完全独立的
于 2013-09-03T13:51:35.837 回答