Como manter o acesso SSL apenas no subdomínio

1

Eu tenho o Apache2 configurado com um

<VirtualHost *:80>
    ServerName y.com
</VirtualHost>

e subdomínio

<VirtualHost *:443>
    ServerName x.y.com
</VirtualHost>

O objetivo é ter o link acessível apenas com SSL. Mas quando eu insiro qualquer outro subdomínio, por exemplo link Eu vejo a mesma página como link

Como faço para desativar URLs como o link para exibir a mesma página que link . Espero que esses sites não sejam acessíveis.

    
por Vladimir 18.09.2011 / 22:55

1 resposta

1

Você precisa configurar um host virtual apenas para x.y.com na porta 443 e somente y.com para a porta 80.

Namevirtualhost *:80
Namevirtualhost *443

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/certificate.crt"
    SSLCertificateKeyFile "conf/ssl.key/certificate.key"
    SSLCertificateChainFile "conf/ssl.crt/chain-file.ca-bundle"
    ServerAdmin [email protected]
    DocumentRoot "C:/apache/htsecure/"
    ServerName secure.u4ik.us
    ServerAlias secure.u4ik.us
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "C:/apache/htdocs/"
    ServerName u4ik.us
    ServerAlias www.u4ik.us
</VirtualHost>

Observe as duas raízes diferentes do documento. Observe também que eles escutam um domínio específico. Para a outra parte de fazer todos os subdomínios ir para x.y.com, use mod_rewrite:

Coloque isto no arquivo .htaccess:

<IfModule mod_rewrite.c>
   Options +FollowSymLinks
   Options +Indexes
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
   RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
   RewriteRule (.*) %2/$1 [L]
</IfModule>
    
por 19.09.2011 / 03:14