web-dev-qa-db-ja.com

Apache-IPが機能しないように制限する

内部でのみアクセスできるようにしたいサブドメインがあります。そのドメインのVirtualHostブロックを編集して、Apacheでこれを実現しようとしています。誰かが私がどこで間違っているのか見ることができますか?ここでの私の内部IPアドレスは192.168.10.xxxであることに注意してください。私のコードは次のとおりです。

<VirtualHost *:80>
  ServerName test.example.co.uk
  DocumentRoot /var/www/test
  ErrorLog /var/log/Apache2/error_test_co_uk.log
  LogLevel warn
  CustomLog /var/log/Apache2/access_test_co_uk.log combined
  <Directory /var/www/test>
    Order allow,deny
    Allow from 192.168.10.0/24
    Allow from 127
  </Directory>
</VirtualHost>

ありがとう

13
Probocop

Deny from all行がありませんか?ああ、間違ったorderを使用しています。

mod_access docs の引用:

[...] Apache.orgドメイン内のすべてのホストにアクセスが許可されています。他のすべてのホストはアクセスを拒否されます。

Order Deny,Allow
Deny from all
Allow from Apache.org
15
ndim

問題は、ローカルネットワークの許可ラインです。 Allow from 192.168.10.0/24Allow from 192.168.10.に置き換えます(192.168.10。*を許可します)。

完全を期すために、Deny from all行を追加して、他のすべてのユーザーをブロックしていることを明確にします。

5
Sam Bisbee

Directoryタグ内のパスは単純に/である必要があると思います

<VirtualHost *:80>
  ServerName test.example.co.uk
  DocumentRoot /var/www/test
  ErrorLog /var/log/Apache2/error_test_co_uk.log
  LogLevel warn
  CustomLog /var/log/Apache2/access_test_co_uk.log combined
  <Directory />
    Order allow,deny
    Allow from 192.168.10.0/24
    Allow from 127
  </Directory>
</VirtualHost>

そして、Apacheを再起動することを忘れないでください

1
VitVoj