Temos um servidor no Ubuntu 12.04 com o Apache HTTP 2.2 instalado.
Kernel 3.2.0.
Enfrentado comportamento estranho durante o download de alguns arquivos.
Configuração do Virtualhost:
<Directory /var/www/name/*>
...
AllowOverride AuthConfig
# add these accordingly for the MIME types to be compressed
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
<Files *.gz>
SetOutputFilter DEFLATE
Header set Content-Encoding: gzip
Header append Content-Encoding: deflate
</Files>
</Directory>
O problema é - às vezes, por razões desconhecidas, é impossível baixar alguns arquivos (!): quando o download do arquivo é 99% - a velocidade diminui para 0 e o download pára.
Nada incomum em logs - mas eu encontrei uma esquisitice em tcpdump
(após a velocidade de download == 0) resultados.
Por exemplo - durante a tentativa de download de badfile.gz
:
10:36:37.611369 IP (tos 0x0, ttl 64, id 7954, offset 0, flags [DF], proto TCP (6), length 1420)
37.**.**.176.80 > 10.**.**.25.55981: Flags [.], cksum 0x00a9 (correct), seq 228803:230171, ack 197, win 243, options [nop,nop,TS val 2097666946 ecr 811530774], length 1368
10:36:37.611396 IP (tos 0x0, ttl 64, id 64391, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 0 (->933a)!)
10.**.**.25.55981 > 37.**.**.80: Flags [.], cksum 0xac28 (incorrect -> 0xf8fc), seq 197, ack 230171, win 4053, options [nop,nop,TS val 811530824 ecr 2097666946], length 0
Existe Flags [.]
- portanto, aguenta a transmissão de dados - não há Finalize
flags (afaik).
Outro exemplo tcpdump
durante o download de outro arquivo goodfile.gz
(do mesmo diretório do Apache no lado do servidor):
10:39:21.216118 IP (tos 0x0, ttl 64, id 18169, offset 0, flags [DF], proto TCP (6), length 52, bad cksum 0 (->47c9)!)
10.**.**.25.55981 > 37.**.**.80: Flags [F.], cksum 0xac28 (incorrect -> 0x83bb), seq 0, ack 1, win 4096, options [nop,nop,TS val 811691867 ecr 2097666946], length 0
Existem alguns arquivos com extensões / tamanhos / concessões diferentes, etc. - mas o problema surge apenas com alguns deles.
Então - o problema aparece algumas vezes, sem nenhuma alteração no lado do servidor. Às vezes badfile.gz
pode ser baixado sem problemas - às vezes (normalmente) desligar.
O mesmo durante o download com navegadores - Relatórios do Chrome " Falha - Erro de rede ", Firefox - apenas diz " Estimativa desconhecida " durante o download.
Por favor, deixe-me saber se posso adicionar mais informações.
Alguns exemplos.
badfile
first:
$ wget http://static.content.domain.net/assets/json/en-GB/content3.json.gz
...
HTTP request sent, awaiting response... 200 OK
Length: 229874 (224K) [application/x-gzip]
Saving to: 'content3.json.gz.3'
content3.json.gz.3 99%[==============...=====> ] 224.42K --.-KB/s eta 0s
e goodfile
:
$ wget http://static.content.domain.net/assets/json/en-GB/24k.tar.gz
...
HTTP request sent, awaiting response... 200 OK
Length: 24576 (24K) [application/x-gzip]
Saving to: '24k.tar.gz.1'
24k.tar.gz.1 100%[=========...======>] 24.00K --.-KB/s in 0.05s
2015-11-25 10:38:40 (440 KB/s) - '24k.tar.gz.1' saved [24576/24576]
P.S. Temos uma configuração de rede complicada o suficiente, incluindo túneis VPN entre escritórios / centros de dados - pode estar em algum lugar por aqui também.
P.P.S Também temos sistemas muito antigos:
# /usr/lib/update-notifier/apt-check --human-readable
205 packages can be updated.
154 updates are security updates.
Mas não pode ser atualizado agora: -)