
我在本機電腦上執行 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,一切都恢復正常。嗯是的。