问题如果我通过一个域名下载文件,下载会在几毫秒内完成,但如果我从另一个域名下载同一个文件,下载开始时很慢,最后返回暂停(如果文件很大,比如 2MB,但如果文件像 100Kb 那样,它就会被正确下载)。
让我进一步解释一下:
我有一个本地服务器,在那里我设置了以下结构。
www/
index.html
2mb.pdf
blog/
wp-content/
2mb.pdf
wordpress.structure
我在 Debian 中使用 apache2,其中有 2 个虚拟服务器,具有以下域和配置(这些不是真实名称)freefri.com和freefriblog.com。
freefri.com:
<VirtualHost *:80>
DocumentRoot /var/www
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
freefriblog.com:
<VirtualHost *:80>
ServerName freefriblog.com
HostnameLookups Off
EnableSendfile off
KeepAlive off
DocumentRoot /var/www/blog
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/blog>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
CustomLog ${APACHE_LOG_DIR}/freefriblog-access.log common
ErrorLog ${APACHE_LOG_DIR}/freefriblog-error.log
LogLevel warn
</VirtualHost>
因此,如果我打开 Web 浏览器并输入freefri.com/2mb.pdf
,文件就会立即下载。如果我输入freefri.com/blog/2mb.pdf
,文件也会立即下载。但是如果我输入 ,freefriblog.com/2mb.pdf
请求就会超时。所有大于 800KB 的静态文件(如 .png 或 .jpg)都会发生同样的情况。从 freefriblog.com 下载图像时,我收到控制台错误“图像损坏或截断”,但 freefri.com 上的同一张图片会立即下载。
下载过程中,apache2 CPU 使用率不断增加。也许 apache 可能正在对文件进行某种处理,如 GZIP,但我在响应标头中没有看到 gzip。
我在日志中没有看到任何奇怪的东西
可能是 wordpress 出了什么问题?是重写规则吗?
我可以添加更多细节,比如 .htaccess,但我现在不想在帖子中发垃圾信息,只需在评论中询问任何内容,然后我再添加。我也可以执行任何测试,因为它不是生产站点。