apache 2.4 redirecionamento dentro do virtualhost

2

Eu tenho alguns vhosts http (porta 80) que desejo redirecionar para http se uma solicitação https for feita para eles. Aparentemente, algumas coisas mudaram com o Apache 2.4 (NameVirtualHost não é usado como no passado, etc).

Apache 2.4 no centos 5.5, Isso é tudo usando um único ip para todos os vhosts abaixo, eu não tenho vários ip's nessa caixa,

meu /usr/local/apache2/conf/extra/httpd-vhosts.conf:

#
<VirtualHost www.dom1.com:80>
    ServerName www.dom1.com
    ServerAlias dom1.com
    DocumentRoot /usr/local/apache2/htdocs/dom1/wordpress
</VirtualHost>


<VirtualHost webmail.dom2.com:443>
    ServerName webmail.dom2.com
    DocumentRoot /usr/local/apache2/htdocs/webmail

    SSLEngine On
    SSLCertificateFile /usr/local/apache2/webmail.crt
    SSLCertificateKeyFile /usr/local/apache2/webmail.key
</VirtualHost>
#

meu /usr/local/apache2/conf/extra/httpd-ssl.conf,

#
Listen 443

SSLPassPhraseDialog  builtin
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300
Mutex default
SSLRandomSeed startup file:/dev/urandom  512
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
#

webmail.dom2.com funciona bem. O problema é que posso me conectar ao link e ele exibe o conteúdo de webmail.dom2.com. Eu quero que quaisquer solicitações de https para www.dom1.com na porta 443 simplesmente redirecionem para o link na porta 80.

Obrigado

    
por user129545 06.08.2012 / 19:18

3 respostas

2

Acima Ouça 443 add (se não estiver definido em outro lugar)

NameVirtualHost *:443

Então antes do virtualhost para webmail.dom2.com:443 adicionar este virtualhost com redirecionamento

<VirtualHost *:443>
    ServerName www.dom1.com
    ServerAlias dom1.com
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 443
    RewriteRule ^/(.*)$ http://www.dom1.com/$1 [R]
</VirtualHost>
    
por 14.09.2014 / 20:19
0

eu acho que mudar o httpd-ssl.conf "escute a linha 443" para "listen webmail.ip: 443 poderia ajudar. Dessa forma, o tráfego dot1.com nunca virá via webmail.

    
por 06.08.2012 / 19:25
0

Estou fazendo o inverso em um dos meus servidores usando regras de reescrita. deve ser trivial apenas alterá-lo:

<VirtualHost *:80>
    RewriteEngine On
    # Rewrite HTTPS
    RewriteCond %{HTTPS} !=on
    RewriteCond %{SERVER_PORT} 80
    RewriteCond %{HTTP_HOST} ^(.*)$
    RewriteRule ^/(.*)$ https://%1/$1 [R]
</VirtualHost>

<VirtualHost *:443>
    [...]
</VirtualHost>
    
por 06.08.2012 / 22:50

Tags