Forçar o httpS://example.com vai para outro site

3

Tenho vários sites hospedados em um servidor da web Apache.

O site A é HTTPS e o site B é HTTP.

Quando as pessoas acessam o Site B usando HTTPS (não sei por que elas fazem isso, porque não há HTTPS e nunca foram, mas sim), elas são direcionadas para o Site A. Como posso corrigir isso e mantê-los no site B?

    
por bevanb 12.09.2016 / 12:49

2 respostas

5

Infelizmente, não há como detectar isso antes que os usuários acessem seu servidor da Web (no DNS ou algo assim). Crie um host virtual para manipular solicitações https para o SITEB e redirecioná-las para http.

Você também pode fazer a mesma coisa com um rewritecond / rewriterule no host virtual https do SITEA.

Essencialmente, o inverso do seguinte: link

    
por 12.09.2016 / 12:56
0

Isso está acontecendo porque os dois domínios são veiculados pelo mesmo processo de httpd. Em sua configuração de servidor / vhost, a seção de configuração específica para escutar na porta 443 está disponível apenas para o SITEA.

Os usuários provavelmente visitam os https para o SITEB por causa dos plug-ins de navegador httpseverywhere (ou equivalentes), que os redirecionam para a versão https dos sites. Agora, quando eles visitam https://site-b.com , o servidor apache (porque SITEB aponta para o IP da sua máquina) procura pela configuração referente à porta 443; e começa a servir as páginas do SITEA.

Sugiro que você comece a veicular seus clientes em sites por HTTPS ( letsencrypt FTW), em vez de redirecionar de https para http. Alternativamente, você pode adicionar o seguinte conjunto de regras na configuração do Vache SITEA do Apache:

RewriteEngine On
RewriteCond %{HTTP_HOST} SITEB [NC]
RewriteRule ^ http://SITEB%{REQUEST_URI} [R=301,L]
    
por 12.09.2016 / 20:23