簡體   English   中英

WAMP無法訪問本地網絡403禁止

[英]WAMP Cannot access on local network 403 Forbidden

我知道這個問題已經問過很多次了

我在互聯網上關注了大多數答案,但仍然收到了相同的消息

403禁止

您無權訪問此服務器上的/。

奇怪的是,當我使用同一台PC訪問localhost:1234它可以正常運行,但是如果我使用IP地址192.168.0.188:1234訪問

同樣讓我感到奇怪的是,我試圖在其他PC上安裝WAMP,並且沒有任何配置就可以訪問該PC。

所以我以為是因為McAfee和Firewall,所以我在Widows和McAfee上打開了端口,但沒有任何改變,我也關閉了防火牆,但仍然沒有任何改變。

然后我無緣無故地通過路由器“端口轉發”打開了端口,但仍然沒有任何變化。

我不認為這是因為我在WAMP中進行配置,因為我仍然能夠獲得此403 Forbidden Message,並且通過使用其他PC進行任何配置也無法訪問它。

兩台PC的設置如下:

Windows 8專業版

  • WAMP Wampserver: 2.4
  • Apache版本: 2.4.4
  • PHP版本: 5.4.12
  • MySQL版本: 5.6.12

可訪問的PC使用Microsoft Security Essentials

無法訪問的PC使用McAfee Internet Security

我試圖關閉WAMP啟動IIS對於Microsoft Server(我可以從任何PC正常工作),但是WAMP仍然無法正常工作

我遵循了這些教程:

堆棧溢出在這里回答:

如果您使用的是WAMPServer 3,請參見答案底部

對於WAMPServer版本<= 2.5

默認情況下,Wampserver會進行盡可能安全的配置,因此Apache設置為僅允許從運行wamp的計算機進行訪問。 畢竟,它應該是開發服務器,而不是實時服務器。

WAMPServer 2.4還發布了一個小錯誤,它使用舊的Apache 2.2語法而不是新的Apache 2.4語法來訪問權限。

您需要更改Apache上的安全性設置以允許從其他任何地方進行訪問,因此請編輯httpd.conf文件。

將本節從:

#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

至 :

#   onlineoffline tag - don't remove
    Require local
    Require ip 192.168.0

Require local允許從這些IP的127.0.0.1 & localhost & ::1

語句Require ip 192.168.0將允許您從內部網絡上的任何ip訪問Apache服務器。 同樣,它也將允許您使用服務器機從服務器計算機獲取實際IP地址的方式進行訪問。

WAMPServer 3具有不同的方法

在WAMPServer的版本3和>中,為localhost預定義了虛擬主機,因此您必須在虛擬主機定義配置文件中進行訪問權限修訂

首先,根本不要修改httpd.conf文件,將其保留為找到的樣子。

使用菜單,編輯httpd-vhosts.conf文件。

在此處輸入圖片說明

它應該看起來像這樣:

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

修改為

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot D:/wamp/www
    <Directory  "D:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

希望您將為您的項目創建一個虛擬主機,而不是將wamp\\www文件夾用於您的站點。 在這種情況下,請僅保留localhost定義,然后僅對您的虛擬主機進行更改。

進行此更改后,請不要忘記重新啟動Apache

對於Apache 2.4.9

此外,請查看C:\\ wamp \\ bin \\ apache \\ apache2.4.9 \\ conf \\ extra中的httpd-vhosts.conf文件

<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot C:/wamp/www
<Directory "C:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require local
</Directory>
</VirtualHost>

改成:

<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot C:/wamp/www
<Directory "C:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all granted
</Directory>
</VirtualHost>

從“需要本地 ”更改為“需要全部授予 ”解決了本地網絡中的錯誤403

我從這里得到了這個答案。 對我有用

Require local

改成

Require all granted
Order Deny,Allow
Allow from all

要擴展RiggsFolly的答案(或對於面臨相同問題但使用Apache 2.2或更低版本的任何人),此格式應能很好地工作:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from localhost
Allow from 192.168
Allow from 10
Satisfy Any

有關Apache 2.4格式更改的更多詳細信息, 從2.4頁面正式升級到2.2的內容非常簡潔明了。 關鍵是:

盡管為了與舊配置兼容,提供了新模塊mod_access_compat ,但舊的訪問控制習慣用法應替換為新的身份驗證機制。

這意味着,全世界的系統管理員都不必為將Apache 2.2配置更改為2.4兼容而感到恐慌。

對於那些可能在Windows 10(64位)上運行帶有Apache 2.4.35的WAMP 3.1.4的用戶

如果外部設備連接到本地主機時遇到問題,並收到403 Forbidden錯誤,則可能是您的httpd.confhttpd-vhosts.conf文件以及它們都包含在其中的“ Require local”行引起的他們。

[之前] httpd-vhosts.conf

<VirtualHost *:80>
 ServerName localhost
 ServerAlias localhost
 DocumentRoot "${INSTALL_DIR}/www"
 <Directory "${INSTALL_DIR}/www/">
   Options +Indexes +Includes +FollowSymLinks +MultiViews
   AllowOverride All
   Require local     <--- This is the offending line.
 </Directory>
</VirtualHost>

[之后] httpd-vhosts.conf

<VirtualHost *:80>
 ServerName localhost
 ServerAlias localhost
 DocumentRoot "${INSTALL_DIR}/www"
 <Directory "${INSTALL_DIR}/www/">
   Options +Indexes +Includes +FollowSymLinks +MultiViews
   AllowOverride All
 </Directory>
</VirtualHost>

此外,您需要按如下所示更新httpd.conf文件:

[之前] httpd.conf

DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
#   onlineoffline tag - don't remove

    Require local  #<--- This is the offending line.
</Directory>

[之后] httpd.conf

DocumentRoot "${INSTALL_DIR}/www"
<Directory "${INSTALL_DIR}/www/">
#   onlineoffline tag - don't remove

#   Require local
</Directory>

確保通過(屏幕右下方的系統托盤->左鍵單擊WAMP圖標->“重新啟動所有服務”)重新啟動WAMP服務器。

然后在本地主機上刷新計算機的瀏覽器,以確保在那里仍具有正確的連接,然后刷新以前嘗試連接的其他外部設備。

免責聲明:如果您處於公司環境中,則從安全角度出發未經測試; 在實施任何全面的更改之前,請確保您敏銳地意識到本地開發環境的訪問協議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM