Apache, vhost, redirecionamento, https, problemas de SSL

Apache, vhost, redirecionamento, https, problemas de SSL

Problemas:

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 443algum 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.

informação relacionada