我無法從外部存取我的家庭伺服器的 WordPress 網站

我無法從外部存取我的家庭伺服器的 WordPress 網站

基本上,我可以使用 127.0.0.1 正常存取所有內容,但如果我使用外部 IP (123.123.123.123),則會出現找不到頁面的情況。

我的路由器將 HTTP 連接埠 80 連接埠轉送到我的伺服器內部 IP 位址上的連接埠 8080。換句話說:(應用程式:HTTP | 開始:80 | 結束:8080 | 協定:兩者| IP 位址192.168.0.101 | 啟用[是])我知道它正在正確轉發,因為當我停止連接埠轉送時,我可以存取我的路由器使用我的外部 IP 進行頁面存取。

我的虛擬主機檔案是:

NameVirtualHost *:80
    <VirtualHost *:80>
    DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
    ServerName example.com
    ServerAlias www.example.com
</VirtualHost>

我的 httpd.conf 檔案是:

Listen 80
Servername localhost:80
DocumentRoot "/opt/lampstack-5.3.16-0/apache2/htdocs
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny, allow
    deny from all
</Directory>
<Directory "/opt/lampstack-5.3.16-0/apache2/htdocs">
    Options FollowSymLinks
    AllowOverride None
    Order allow, deny
    allow from all
</Directory>

答案1

您正在使用基於名稱的虛擬主機。如果您嘗試使用其他名稱造訪您的網站,您將獲得預設網站。

NameVirtualHost *:80

Servername localhost:80

答案2

我認為問題來自於指定一個對其具有拒絕權限的 DocumentRoot - 但您應該收到 403 Forbidden Errors,而不是 404 Not Found (至少當我嘗試模仿您的配置時我會這樣做)。

DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress

因為目錄沒有條目,所以<Directory >它繼承了預設權限

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order deny, allow
  deny from all
</Directory>

嘗試註解掉拒絕行

  #Order deny, allow
  #deny from all

或建立一個新條目來測試此問題

<Directory "/opt/lampstack-5.3.16-0/apps/wordpress">
  Options FollowSymLinks
  AllowOverride None
  Order allow, deny
  allow from all
</Directory>

筆記:現在您應該嘗試使用 IP 位址存取伺服器,www.example.com 不會讓您到達任何地方,因為沒有它的 DNS 條目(或者如果有,它不會指向您的伺服器)。

答案3

看來是路由器的問題。儘管我嘗試過重新啟動路由器,儘管我嘗試了啟用和停用 nat 重定向的所有操作。我剛坐下,我的路由器就自動重置了。我必須輸入預設密碼才能進入路由器管理頁面(而不是我設定的密碼)。之後一切工作正常。

也嘗試在你的虛擬主機檔案中什麼都沒有,這也可以工作

這個故事的寓意是:嘗試不同的路由器以防萬一。

相關內容