Apache Access Control

Я пытаюсь настроить Apache, чтобы разрешить доступ только для чтения и попросить пользователя записать в SVN-репозиторий, когда вы выходите из локальной сети (10.*), но не разрешать какой-либо доступ, если вы не вошли в систему при входе из внешней сети.

Я вроде понимаю, как работают директивы Order, Deny, Allow и Limit, но я не знаю, возможно ли / как их объединить для достижения желаемого результата.

<Location /svn>
  # Set mod_dav_svn settings
  DAV svn
  SVNListParentPath on
  SVNParentPath /mnt/svn
  AuthzSVNAccessFile /mnt/svn/.authz

  # Set Authentication
  AuthType Basic
  AuthName "Auth Realm"
  AuthUserFile /mnt/svn/.htpasswd

  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1 10.0.0.0/8

  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
  Satisfy Any
</Location>

Я знаю, что это разрешит любой доступ к любому локальному трафику, но запрашивать логин при попытке записи из внешнего трафика. Это близко к тому, что я хочу. Любая помощь или предложения о том, что читать, с благодарностью.

2 ответа

Решение

Я не думаю, что есть решение.

Это может быть поздний ответ, но вы можете добавить два

Директива VirtualHost требует ip или * и порт для прослушивания. Предполагая ваш хостинг на машине с двумя сетевыми картами, если каждая из них слушает только правильную карту, она должна делать то, что вы хотели....

Другие вопросы по тегам