我在本地机器上运行 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,所以一切又恢复正常了。所以,是的。