我使用 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.js和http://fake.example.com/test.txt,您将看到 test.js 可以正常检索内容,但对于 test.txt,您将获得空响应。我知道有此问题的文件扩展名是 .css、.txt。
如果我只是将服务器名称更改为真实域,所有其他配置保持不变,这些文件将正常提供。
请帮我找出这个问题发生的原因。
- - - - - - - - 更新 - - - - - - - - - - - -
我检查了 apache 和 nginx,发现问题都出现了。我尝试在本地服务器上检索文件,结果运行正常。我认为这个问题的根源可能在其他地方,而不是 apache 本身。我会继续寻找根本原因。
---------------- 更新 2 ----------------------
我在不同区域创建了另一个虚拟机并执行,wget http://fake.example.com/test.txt
它运行良好。这让我认为我的电脑是根本原因,但事实并非如此,我用其他电脑进行了测试,遇到了同样的问题。我也用不同的互联网连接(在同一个 ISP 上)进行了测试,但我仍然发现了问题。现在,问题已经缩小到我的 ISP 了。
有人测试过我的网址吗?