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 子文件夹甚至配置为:

Satisfy Any
Order Allow,Deny
Allow from all

即使设置了 chmod 777,图像也无法通过 TLD 访问加载。

答案1

查看页面本身的代码(加载 CSS 文件的地方)。它可能被硬编码为指向内部地址或 IP。加载 CSS 文件的是浏览器,而不是服务器。

答案2

问题是由 AdBlock 引起的。AdBlock 将 DDNS 子域识别为广告服务器,因此几乎阻止了所有内容。由于我使用自己的 TLD,所以一切又恢复正常了。所以,是的。

相关内容