2009-08-08 27 views
12

của Apache Làm cách nào bạn có thể chỉ cho phép máy chủ cục bộ trong Apache2?Để chỉ cho phép máy chủ cục bộ trong Apache mặc định

My/etc/apache2/sites-enabled/000-mặc định là

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

tôi duyệt đến http://localhost/index.php không thành công. Tôi nhận được Forbidden.

+2

Câu hỏi này phù hợp hơn với http://serverfault.com. –

+0

Xin vui lòng, di chuyển câu hỏi này đến serverfault để giải quyết vấn đề. –

Trả lời

17

Chuyển đổi cho phép của bạn, từ chối đơn đặt hàng xung quanh (bạn muốn từ chối tất cả trước tiên, sau đó cho phép localhost).

Thay đổi:

Order allow,deny 

Để:

Order deny,allow 

(đó là hành vi mặc định)

+0

Cảm ơn bạn đã trả lời! Nó giải quyết vấn đề. –

+2

Điều này là chính xác. Tuy nhiên, trong trường hợp của tôi (sử dụng macos x Mountain Lion) tôi cũng phải cho phép địa chỉ ipv6 localhost, đó là tôi đã thêm dòng additonal sau đây: Cho phép từ fe80 :: 1 – Alexander

+0

Bắt đầu với Apache 2.4, bây giờ bạn có thể viết [' Yêu cầu local'] (https://httpd.apache.org/docs/current/mod/mod_authz_host.html) thay vào đó –

1

Trả lời câu trả lời Maha của

Đây là tập tin mà làm việc cho tôi. Bạn có thể có những gì bạn muốn ở vị trí của/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

Đơn giản hơn. Nhìn vào cấu hình "/ usr/shre/doc" :) sao chép & dán!

<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> 
Các vấn đề liên quan