Apache2 - 圖片和 CSS 僅在本機網路中可用,不能透過 TLD

Apache2 - 圖片和 CSS 僅在本機網路中可用,不能透過 TLD

我在本機電腦上執行 Apache/2.2.22 (Debian),該電腦使用動態 DNS 服務可從外部存取。總的來說,這就像一個魅力。

但是,如果您透過 DNS 服務提供的 TLD(例如「subdomain.dns.com」)進行連接,伺服器將拒絕載入圖片和 CSS。如果您從網路(VPN,例如「10.8.xx」)連接,則一切都會如預期顯示。這適用於簡單的測試場景,例如簡單的<img src="/images/test.png" />標準測試場景index.html,以及複雜的系統,例如 roundcubemail 或 ownCloud(看起來確實很混亂,沒有樣式)。

/etc/apache2/sitse-available/default檔案配置為

<VirtualHost *:80> #apparently, this isn't the complete file
<VirtualHost *:443>

etc/apache2/ports.conf作為

NameVirtualHost *:80
Listen 80 #same for 443

我真的不知道這裡發生了什麼事。我的 .htaccess 配置限制對特定 IP 範圍的訪問,.htaccess上例中使用的 /images-subfolder 甚至配置為:

Satisfy Any
Order Allow,Deny
Allow from all

即使設定了 chmod 777,圖像也不會透過 TLD 存取載入。

答案1

查看頁面本身的程式碼(載入 CSS 檔案的位置)。它可能被硬編碼為指向內部位址或 IP。載入 CSS 檔案的是瀏覽器,而不是伺服器。

答案2

該問題是由 AdBlock 引起的。 AdBlock 將 DDNS 子網域識別為廣告伺服器,因此阻止了幾乎所有內容。由於我使用自己的 TLD,一切都恢復正常。嗯是的。

相關內容