2013-05-22 86 views
5

還有其他類似的問題,但不回答我的問題。Wamp Apache - 允許本地主機

這是默認httpd.conf

<Directory "C:/wamp/www/"> 
    Options Indexes FollowSymLinks 
    AllowOverride all 
# onlineoffline tag - don't remove 
    Order Deny,Allow 
    Deny from all 
    Allow from 127.0.0.1 
</Directory> 

而且只允許127.0.0.1,但我想允許也localhost192.168.x.x(我的私有IP)。

好了,其他的答案是:把Allow from all並取消在hosts文件中的行127.0.0.1 localhost;但我讀到的是不安全的或不可接受的。

所以我已經試過這樣:

<Directory "C:/wamp/www/"> 
    Options Indexes FollowSymLinks 
    AllowOverride all 
# onlineoffline tag - don't remove 
    Order Deny,Allow 
    Deny from all 
    Allow from 127.0.0.1 
    Allow from 192.168.x.x 
    Allow from localhost 
</Directory> 

它適用於192.168.x.x,而不是localhost(得到的錯誤:403禁止,您沒有權限訪問/在此服務器上

1)怎樣才能使它工作?

2)可能需要在hosts文件中的行127.0.0.1 localhost取消註釋?

3)是不是真的更安全比所有允許?

回答

0

1)我不知道,如果你的目錄sintax是正確的,因爲我使用Ubuntu的服務器,但我一直把那允許單個地址之前的指令「從所有拒絕」行。但是,Apache的文檔中,你可以看到的例子,其中指令是在相同的順序在你的代碼

Link

我ALSE指定網絡掩碼,這在各個IP地址的情況下應該是255.255.255.255,更細粒度的子網限制。

我一直看到的話拒絕,允許在小寫第一指令,但是當你使用的是Windows也許這是沒有必要的。我將使用的代碼是:

order deny,allow 
Allow from 127.0.0.1/255.255.255.255 
Allow from 192.168.x.x/255.255.255.255 
Allow from localhost/255.255.255.255 
Deny from all 

2)是的,因爲你是拒絕除了那些來自指定IP地址

Related reference

+0

想你的代碼,但是有一些錯誤的,因爲Apache是​​無法重新啓動。 –

+0

你執行了整個代碼嗎?我的意思是你的前4行,然後是我的代碼,然後是 – alvaroreig

+0

是的,我用你的代碼替換了我的最後5行(在之前)。目前我使它在'hosts'文件中取消註釋'127.0.0.1 localhost'行,但我不知道它是否好。 –

8

讓我們保持它的簡單每次上訪,試試這個

<Directory "C:/wamp/www/"> 
    Options Indexes FollowSymLinks 
    AllowOverride all 
    Order Deny,Allow 
    Deny from all 
    Allow from 127.0.0.1 ::1 localhost 192.168 
</Directory> 

::圖1是IPV6等效127.0.0.1的

我會使用第一個三分之四192.168.0(假設你的第三四分位數是0)

2

更新你的httpd.conf這個,你將能夠在WAMP上得到localhost

<Directory "C:/wamp/www/"> 
    Options Indexes FollowSymLinks 
    AllowOverride all 
    # onlineoffline tag - don't remove 
    Order Deny,Allow 
    Deny from all 
    Allow from 127.0.0.1 
    Allow from 192.168.x.x 

    Allow from ::1 
</Directory> 
1

如果您使用的是Apache 2的 。4 然後使用:

<Directory "C:/wamp/www/"> 
    Require all denied 
    Require ip 127.0.0.1 
    <If "%{HTTP_HOST} == 'localhost'"> 
    Require all granted 
    </If> 
</Directory>