OK, +1 para a internet, -1 para a Apple.
O culpado foi mod_spdy
no Apache 2.2. Eu não sei o que ou como ou porque, mas desabilitar mod_spdy resolveu o problema.
Eu não estou muito feliz em deixar assim, mas eu não tenho escolha por enquanto.
Estou tendo a coisa mais estranha acontecendo com o meu servidor web. É o Apache 2 com SSL. Para simplificar, veja por que minha configuração parece (example.com se refere ao meu próprio domínio, é claro):
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect 301 / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/example
... #options and allow/deny for directories
... #logging settings
SSLEngine on
... #ssl settings
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
Redirect 301 / https://example.com/
SSLEngine on
... #ssl settings
</VirtualHost>
Essencialmente, o que ele faz é redirecionar todo o tráfego não https para https e redireciona www.example.com
para example.com
- até agora, tudo bem.
Isso funciona para todos os navegadores em todas as plataformas - com uma exceção: o Safari no iPad. Safari no mac funciona bem; outros navegadores no ipad funcionam bem, mas no Safari no ipad eu recebo "O Safari não pode abrir a página porque ocorreram muitos redirecionamentos".
Agora, o único redirecionamento que tenho na minha configuração (em https) é de www.example.com para example.com. Eu adicionei %{Host}i
ao log de acesso - e posso ver que as solicitações contêm nome de host e recurso corretos.
Neste ponto, estou completamente perplexo. Eu não sei onde ou o que mais para olhar. Meu cliente usa principalmente ipads, então ignorá-lo não é uma opção.
Qualquer ideia é muito apreciada.
EDITAR:
Eu mudei a configuração SSL para isso:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect 301 / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example
... #options and allow/deny for directories
... #logging settings
SSLEngine on
... #ssl settings
</VirtualHost>
Agora não há redirecionamentos na configuração. Limpei todas as configurações, histórico e dados armazenados do ipad - e ele ainda está redirecionando!
OK, +1 para a internet, -1 para a Apple.
O culpado foi mod_spdy
no Apache 2.2. Eu não sei o que ou como ou porque, mas desabilitar mod_spdy resolveu o problema.
Eu não estou muito feliz em deixar assim, mas eu não tenho escolha por enquanto.
Você pode tentar essa configuração no seu servidor?
<VirtualHost *:443>
ServerName www.example.com
ServerAlias *.example.com
Redirect 301 / example.com/
DocumentRoot /var/www/example
... #options and allow/deny for directories
... #logging settings
SSLEngine on
... #ssl settings
</VirtualHost>
Você pode excluir o último bloco do VirtualHost.
Tags redirect ipad apache-2.2