[英]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專業版
可訪問的PC使用Microsoft Security Essentials 。
無法訪問的PC使用McAfee Internet Security 。
我試圖關閉WAMP並啟動IIS對於Microsoft Server(我可以從任何PC正常工作),但是WAMP仍然無法正常工作
我遵循了這些教程:
堆棧溢出在這里回答:
默認情況下,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和>中,為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
要擴展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.conf和httpd-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.