
Problemas:
- https://www.exemplo.com-> deve redirecionar parahttp://www.exemplo.com, não, fornece código de erro: ssl_error_rx_record_too_long sem redirecionamento, error_log: "[erro] [cliente 127.0.1.3] Método inválido na solicitação \x16\x03\x01
- https://www.example.com/fundprocess.html-> deve redirecionarhttps://example.com/fundprocess.html, fornece o código de erro: ssl_error_rx_record_too_long sem redirecionamento, error_log: "[erro] [cliente 127.0.1.3] Método inválido na solicitação \x16\x03\x01"
- https://example.com-> Deve redirecionar parahttp://www.exemplo.com, não
- http://exemplo.com/-> Deve redirecionar parahttp://www.exemplo.com, não
- http://example.com/fundprocess.htmldeveria redirecionar parahttps://example.com/fundprocess.html, não
Nenhuma entrada no log de reescrita contra esses erros.
Configuração vhost
<VirtualHost 127.0.1.3:80>
ServerAdmin [email protected]
ServerName www.example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Redirect permanent /fundprocess.html https://example.com/fundprocess.html
Redirect permanent /fund_process.php https://example.com/fund_process.php
ErrorLog /var/log/apache2/example.com-error_log
TransferLog /var/log/apache2/example.com-access_log
LogLevel warn
RewriteLog /var/log/apache2/example.com-rewrite_log
RewriteLogLevel 9
</VirtualHost>
<VirtualHost 127.0.1.2:80>
ServerAdmin [email protected]
ServerName example.com
DocumentRoot /var/www/html
RewriteCond %{REQUEST_URI} !fundprocess.html [NC]
RewriteCond %{REQUEST_URI} !fund_process.php [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} fundprocess.html [NC]
RewriteCond %{REQUEST_URI} fund_process.php [NC]
RewriteRule (.*) https://example.com/$1 [R=301,L]
</VirtualHost>
<VirtualHost 127.0.1.3:443>
ServerAdmin [email protected]
ServerName www.example.com
DocumentRoot /var/www/html
RewriteCond %{REQUEST_URI} !fundprocess.html [NC]
RewriteCond %{REQUEST_URI} !fund_process.php [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} fundprocess.html [NC]
RewriteCond %{REQUEST_URI} fund_process.php [NC]
RewriteRule (.*) https://example.com/$1 [R=301,L]
</VirtualHost>
<VirtualHost 127.0.1.2:443>
ServerAdmin [email protected]
ServerName example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !fundprocess.html [NC]
RewriteCond %{REQUEST_URI} !fund_process.php [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
ErrorLog /var/log/apache2/example.com-ssl-error_log
TransferLog /var/log/apache2/example.com-ssl-access_log
LogLevel warn
RewriteLog /var/log/apache2/example.com-rewrite_log
RewriteLogLevel 9
SSLEngine On
SSLCertificateFile /etc/certs/example.crt
SSLCertificateKeyFile /etc/certs/example.key
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
Responder1
Isso não é um problema com o redirecionamento, é um problema com o SSL (a solicitação deve ser descriptografada antes que o redirecionamento ocorra).
Você tem Listen 443
algum lugar na configuração do Apache? Se não, cole-o perto da parte Listen 80. Você está executando algum outro site SSL neste servidor? Certifique-se de que eles não estejam usando o mesmo endereço IP. Finalmente, se você tiver um certificado SSL que funcione em outro lugar, tente usá-lo neste site - ele emitirá um aviso no navegador, mas se você aceitar o aviso, ele deverá redirecionar - então você saberá que o problema é o seu certificado SSL.
Responder2
ssl_error_rx_record_too_long acontece quando o apache está esperando SSL e recebe http.
Certifique-se de que todas as solicitações da porta 443 cheguem a um host virtual com extensão SSLEngine On
. Você precisa consertar seu <VirtualHost 127.0.1.3:443>
.
Além disso, seu certificado precisa funcionar para example.com e *.example.com. Caso contrário, seus clientes receberão avisos desagradáveis em vez de um redirecionamento.