WampServer 是 Windows 作業系統上的架站軟體,提供 Apache, PHP, MySQL 等伺服器服務軟體的組合包。以下說明如何解決內網或外網環境,無法連線 Apache 網站伺服器的狀況。
無法連線的狀況
1. 內網無法連線
Apache、MySQL 伺服器啟動後,在安裝 WampServer 機器,無法瀏覽 http://127.0.0.1 或 http://localhost (如果有修改連接埠,例如 8000,則網址需要修改成 http://127.0.0.1:8000 )
可能原因: Apache 網站伺服器所使用的連接埠 (port) 80,被其他軟體佔用。例如 Skype。可以利用 CurrPorts 檢查被哪個軟體佔用。
解決方式: 修改 Skype 軟體的 80 port 或者修改 Apache 要使用的連接埠。可參考網頁 [舊文][Wamp 2] WampServer 不能啟動 卡在黃圖 解決 - 單布朗~個人部落
2. 外網無法連線
Apache、MySQL 伺服器啟動後,但是外網無法連線該台機器的外部 IP。請檢查 WAMP 的 Apache 網站伺服器的 access log ,如果 access log 內沒有來自外網的任何存取紀錄,代表跟本無法連線到 WAMP 網站伺服器。
(1) 確認外部 IP 是否正確
在安裝 WampServer 機器,瀏覽 What Is My IP Address? 或 What is my IP address? (iplocation 服務) 確認外部 IP 是否正確
(2) 確認 Apache 要使用的連接埠,是否有對外開放
在安裝 WampServer 機器,瀏覽 Open Port Check Tool 確認 Apache 網站伺服器所使用的連接埠是否有開放。
如果 Apache 網站伺服器連接埠使用預設的 80 ,則可使用 Down For Everyone Or Just Me -> Check if your website is down or up? ,自動從世界其他處電腦檢查連線。在不是安裝 WampServer 的別台機器,也可以透過命令列下指令
curl -v -o /dev/null http://IP:Port
參數說明:
如果無法連線,則會看到「failed: Connection refused」訊息文字,完整訊息請見文章最下方 log。
解決方式: 檢查該主機電腦的防火牆規則、防毒軟體設定、其次跟網管確認公司或學校是否有開放外網存取。
(3) 確認 WampServer 是否切換到 online 模式
如果內網 IP 可以連線,但是外網 IP 無法連線。需要確認 WampServer 是否切換到 online 模式。
先按滑鼠右鍵點選桌面右下角 Wamp 圖示
點選 Wamp Settings
點選 Menu item: Online / Offline
回到桌面,按滑鼠左鍵點選桌面右下角 Wamp 圖示
選單下方出現 Put Online,點選 Put Online 就可以開放外界可以存取 Apache 伺服器。
如果不想使用 Wamp 提供的功能,可以觀察到其實 Wamp 是修改 Apache 伺服器設定檔
Offline 模式: Require local 根據 Apache 文件,指限制只能從本地端才能存取 Apache 伺服器。
Online 模式: Require all granted 根據 Apache 文件,指沒有認證 (authentication) 限制,開放外界存取。
相關文章
相關工具
log: 無法連線,則會看到「failed: Connection refused」訊息文字
curl -v -o /dev/null https://127.0.0.1:8000
* Rebuilt URL to: https://127.0.0.1:8000/
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1...
* TCP_NODELAY set
* Connection failed
* connect to 127.0.0.1 port 8000 failed: Connection refused
* Failed to connect to 127.0.0.1 port 8000: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 127.0.0.1 port 8000: Connection refused
無法連線的狀況
1. 內網無法連線
Apache、MySQL 伺服器啟動後,在安裝 WampServer 機器,無法瀏覽 http://127.0.0.1 或 http://localhost (如果有修改連接埠,例如 8000,則網址需要修改成 http://127.0.0.1:8000 )
可能原因: Apache 網站伺服器所使用的連接埠 (port) 80,被其他軟體佔用。例如 Skype。可以利用 CurrPorts 檢查被哪個軟體佔用。
解決方式: 修改 Skype 軟體的 80 port 或者修改 Apache 要使用的連接埠。可參考網頁 [舊文][Wamp 2] WampServer 不能啟動 卡在黃圖 解決 - 單布朗~個人部落
2. 外網無法連線
Apache、MySQL 伺服器啟動後,但是外網無法連線該台機器的外部 IP。請檢查 WAMP 的 Apache 網站伺服器的 access log ,如果 access log 內沒有來自外網的任何存取紀錄,代表跟本無法連線到 WAMP 網站伺服器。
(1) 確認外部 IP 是否正確
在安裝 WampServer 機器,瀏覽 What Is My IP Address? 或 What is my IP address? (iplocation 服務) 確認外部 IP 是否正確
(2) 確認 Apache 要使用的連接埠,是否有對外開放
在安裝 WampServer 機器,瀏覽 Open Port Check Tool 確認 Apache 網站伺服器所使用的連接埠是否有開放。
如果 Apache 網站伺服器連接埠使用預設的 80 ,則可使用 Down For Everyone Or Just Me -> Check if your website is down or up? ,自動從世界其他處電腦檢查連線。在不是安裝 WampServer 的別台機器,也可以透過命令列下指令
curl -v -o /dev/null http://IP:Port
參數說明:
- -v (同 --verbose) 啟動 curl 碎碎唸模式,方便除錯
- -o (同 --output) 輸出,此處 -o /dev/null 則可輸出訊息到螢幕而非檔案
如果無法連線,則會看到「failed: Connection refused」訊息文字,完整訊息請見文章最下方 log。
解決方式: 檢查該主機電腦的防火牆規則、防毒軟體設定、其次跟網管確認公司或學校是否有開放外網存取。
(3) 確認 WampServer 是否切換到 online 模式
如果內網 IP 可以連線,但是外網 IP 無法連線。需要確認 WampServer 是否切換到 online 模式。
先按滑鼠右鍵點選桌面右下角 Wamp 圖示
點選 Wamp Settings
點選 Menu item: Online / Offline
回到桌面,按滑鼠左鍵點選桌面右下角 Wamp 圖示
選單下方出現 Put Online,點選 Put Online 就可以開放外界可以存取 Apache 伺服器。
如果不想使用 Wamp 提供的功能,可以觀察到其實 Wamp 是修改 Apache 伺服器設定檔
Offline 模式: Require local 根據 Apache 文件,指限制只能從本地端才能存取 Apache 伺服器。
Online 模式: Require all granted 根據 Apache 文件,指沒有認證 (authentication) 限制,開放外界存取。
相關文章
- Wamp修改Apache後一樣無法外部連線 - 看板 PHP - 批踢踢實業坊
- why wamp server put online/ offline option is missing? - Stack Overflow
- 【技術】Wamp對外連線設定 – 亞洲大學光通系雲端運算實驗室
相關工具
- Web Ping 網站監測與網站連線測試
log: 無法連線,則會看到「failed: Connection refused」訊息文字
curl -v -o /dev/null https://127.0.0.1:8000
* Rebuilt URL to: https://127.0.0.1:8000/
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1...
* TCP_NODELAY set
* Connection failed
* connect to 127.0.0.1 port 8000 failed: Connection refused
* Failed to connect to 127.0.0.1 port 8000: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 127.0.0.1 port 8000: Connection refused
該文章實際上顯示了您的辛勤工作和奉獻精神。 要檢查外部IP,您也可以參考該工具
回覆刪除https://iplocation.io/
您必須同時檢查這兩個。