2009-08-08 72 views
12

如何只允許在Apache2中的本地主機?只允許Apache的本地主機的000-默認

/000默認我的/ etc/apache2的/啓用的網站,是

<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> 

我瀏覽到http://localhost/index.php失敗。我得到Forbidden

+2

這個問題更適合http://serverfault.com。 – 2009-08-08 22:36:23

+0

請將此問題移至serverfault以解決問題。 – 2009-08-08 22:45:51

回答

17

切換你的允許,拒絕順序(你想先拒絕,然後允許本地主機)。

變化:

Order allow,deny 

要:

Order deny,allow 

(這是默認行爲)

+0

謝謝你的回答!它解決了這個問題。 – 2009-08-08 23:01:55

+2

這是正確的。但是,在我的情況下(使用macos x Mountain Lion),我還必須允許ipv6 localhost地址,那就是我添加了以下附加行:允許來自fe80 :: 1 – Alexander 2013-10-21 01:23:47

+0

從Apache 2.4開始,現在只需編寫[需要本地'](https://httpd.apache.org/docs/current/mod/mod_authz_host.html) – 2016-08-19 11:02:35

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」配置:)複製&粘貼!

<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> 
相關問題