2009-08-08 7 views
12

Apache2でローカルホストのみを許可するにはどうすればよいですか?Apacheの000-デフォルトでローカルホストのみを許可するには

私は/ etc/apache2の/サイト対応/ 000-デフォルトでは、私が失敗したhttp://localhost/index.phpを参照

<VirtualHost *:80> 
     ServerAdmin [email protected] 

DocumentRoot /home/masi/Dropbox/a 
<Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 
     <Directory /home/masi/Dropbox/a/> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       deny from all        // Problem HERE! 
     allow from 127.0.0.1 
     </Directory> 

     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
     <Directory "/usr/lib/cgi-bin"> 
       AllowOverride None 
       Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
       Order allow,deny 
       Allow from all 
     </Directory> 

     ErrorLog /var/log/apache2/error.log 

     # Possible values include: debug, info, notice, warn, error, crit, 
     # alert, emerg. 
     LogLevel warn 

     CustomLog /var/log/apache2/access.log combined 

    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/"> 
     Options Indexes MultiViews FollowSymLinks 
     AllowOverride None 
     Order deny,allow 
     Deny from all 
     Allow from 127.0.0.0/255.0.0.0 ::1/128 
    </Directory> 

</VirtualHost> 

です。私はForbiddenを得る。

+2

この質問は、http://serverfault.comに適しています。 –

+0

問題を解決するには、この質問をserverfaultに移動してください。 –

答えて

17

許可、拒否の順番を切り替えます(すべてを拒否してから、ローカルホストを許可します)。

変更:

Order allow,deny 

へ:(デフォルトの動作)

Order deny,allow 

マハの答えに

+0

ありがとうございました!それは問題を解決します。 –

+2

これは正しいです。しかし、私の場合(macos x Mountain Lionを使って)、私はipv6 localhostアドレスを許可しなければなりませんでした。つまり、次のadditonal行を追加しました。fe80 :: 1から許可してください – Alexander

+0

Apache 2.4から、代わりにlocal'を必要とする](https://httpd.apache.org/docs/current/mod/mod_authz_host.html) –

1

返信

これがために働くファイルです私。あなたは/ var/wwwの代わりにあなたが望むものを持つことができます。

<VirtualHost *:80> 
     ServerAdmin [email protected] 

     DocumentRoot /var/www 
     <Directory /> 
       Options FollowSymLinks 
       AllowOverride None 
     </Directory> 
     <Directory /var/www/> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order deny,allow 
       deny from all 
     allow from 127.0.0.1 
     </Directory> 

     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
     <Directory "/usr/lib/cgi-bin"> 
       AllowOverride None 
       Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
       Order allow,deny 
       Allow from all 
     </Directory> 

     ErrorLog /var/log/apache2/error.log 

     # Possible values include: debug, info, notice, warn, error, crit, 
     # alert, emerg. 
     LogLevel warn 

     CustomLog /var/log/apache2/access.log combined 

    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/"> 
     Options Indexes MultiViews FollowSymLinks 
     AllowOverride None 
     Order deny,allow 
     Deny from all 
     Allow from 127.0.0.0/255.0.0.0 ::1/128 
    </Directory> 
</VirtualHost> 
5

もっと簡単です。 "/ usr/shre/doc"の設定を見てください:) copy & paste!

<Directory "/usr/share/doc/"> 
     Options Indexes MultiViews FollowSymLinks 
     AllowOverride None 
     Order deny,allow 
     Deny from all 
     Allow from 127.0.0.0/255.0.0.0 ::1/128 
</Directory> 
関連する問題