Eu configurei um novo host virtual para um novo site no meu servidor, mas ele está agindo de forma estranha, apesar de ter as mesmas configurações do meu site original.
Eu quero que todos os pedidos sejam redirecionados para HTTPS, basta colocar. No meu site principal (o que está funcionando) eu tenho isso especificado no VirtualHost
config, e em .htaccess
eu tenho uma regra adicional especificada para permitir URLs curtos. Especificamente, o problema no site que não funciona é que, se eu tentar ir para example.com/url
, o redirecionamento vai para https://example.comurl
e remove o /
necessário da URL.
Copiei a configuração exata para o novo arquivo VirtualHost
e .htaccess
do site de trabalho, por isso não sei por que ele não funciona no novo. Meus registros DNS de ambos os sites usam registros A para apontar para ele, nenhum redirecionamento ou qualquer coisa acontece no nível do DNS. Eu tentei colocar um /
no final das linhas Redirect
no código abaixo, mas o problema não foi resolvido. O servidor é o Ubuntu 14.04 e o Apache é a versão 2.4.7. Ambos os sites são nomes de domínio separados com arquivos .conf
separados usados, mas são hospedados no mesmo servidor com o mesmo endereço IP. Como posso resolver este problema?
O código relevante no VirtualHost
:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com
</VirtualHost>
E em .htaccess
:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]
Caso isso ajude / importe, esta é a configuração SSL no meu arquivo VirtualHost, embora seja colocada no início do arquivo fora de todas as outras diretivas:
SSLCipherSuite AES128+EECDH:AES128+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdo$
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
E esta é a configuração específica para o VirtualHost
do site:
<VirtualHost *:443>
ServerName example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
ErrorLog ${APACHE_LOG_DIR}/errorexample.log
Options -Indexes
SSLEngine on
SSLCertificateFile /etc/ssl/example/examplecert.crt
SSLCertificateKeyFile /etc/ssl/example/examplekey.key
SSLCertificateChainFile /etc/ssl/chain/class1.pem
</VirtualHost>