Apache 不提供某些带有虚假域名的文件扩展名

Apache 不提供某些带有虚假域名的文件扩展名

我使用 Ubuntu 14.04 映像在 AWS 上创建新的 VirtualMachine,然后我使用apt-get install apache命令安装 Apache 2.4,并使用虚假服务器名称 fake.example.com 设置虚拟主机(请参阅下面的 VirtualHost 配置),然后指向DocumentRoot最后/home/ubuntu/public_html一件事,我创建了 2 个文件,test.txt 和 test.js,包含一些数据。

这里,这是我的虚拟主机配置文件:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /home/ubuntu/public_html

    ServerName fake.example.com
    <Directory /home/ubuntu/public_html>
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>

然后,在您的机器上,您必须将您的 VM IP 添加到 /etc/hosts,如下所示:

52.74.61.243    fake.example.com

(52.74.61.243 是我的虚拟机。您可以使用这个 IP 进行测试)

尝试使用 url 访问http://fake.example.com/test.jshttp://fake.example.com/test.txt,您将看到 test.js 可以正常检索内容,但对于 test.txt,您将获得空响应。我知道有此问题的文件扩展名是 .css、.txt。

如果我只是将服务器名称更改为真实域,所有其他配置保持不变,这些文件将正常提供。

请帮我找出这个问题发生的原因。

- - - - - - - - 更新 - - - - - - - - - - - -

我检查了 apache 和 nginx,发现问题都出现了。我尝试在本地服务器上检索文件,结果运行正常。我认为这个问题的根源可能在其他地方,而不是 apache 本身。我会继续寻找根本原因。

---------------- 更新 2 ----------------------

我在不同区域创建了另一个虚拟机并执行,wget http://fake.example.com/test.txt它运行良好。这让我认为我的电脑是根本原因,但事实并非如此,我用其他电脑进行了测试,遇到了同样的问题。我也用不同的互联网连接(在同一个 ISP 上)进行了测试,但我仍然发现了问题。现在,问题已经缩小到我的 ISP 了。

有人测试过我的网址吗?

相关内容