Você provavelmente desejará usar o Virtual Hosting do Apache. É um método bem suportado para hospedar muitos domínios em um único endereço IP.
Especificamente, hosts virtuais baseados em nome: link
Eu tenho dois nomes de domínio diferentes, que quero hospedar na mesma hospedagem privada que tenho. Eu quero que eles apontem para o mesmo endereço IP e ainda tenham conteúdo diferente (é claro). Como eu posso fazer isso? Existem maneiras diferentes de fazer isso? Nesse caso, qual é o melhor caminho. Obrigado.
O Apache2 suporta a exibição de conteúdos diferentes dependendo dos nomes de domínio, mesmo se todos esses domínios resolverem para o mesmo endereço IP. Cada um dos nomes de domínio é tratado por um host virtual , portanto, o nome host virtual baseado em nome .
Aqui está uma configuração de exemplo para dois domínios:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:80>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
Você encontrará a documentação oficial sobre suporte a host virtual baseado em nome aqui .
No entanto, observe que isso só funcionará com conexões HTTP simples, não com HTTPS (HTTP via SSL): hosts virtuais baseados em nome dependem de saber qual nome está sendo solicitado, mas essas informações não podem ser conhecidas pelo Apache até a conexão SSL criptografada é estabelecida.
Se você precisa ter sua configuração trabalhando com HTTPS também, você precisa confiar em uma extensão para o protocolo SSL chamado Indicação do nome do servidor (SNI) (RFC4366 ). Basicamente, os clientes habilitados para SNI (ex: navegadores da Web) adicionam uma informação de texto simples extra ao estabelecer a conexão SSL criptografada, permitindo que o servidor saiba o nome que está sendo solicitado antes que a conexão SSL esteja pronta.
Todos os navegadores ainda não suportam o SNI. No momento da escrita e de acordo com a Wikipedia, estes fazem:
Hospedar vários hosts virtuais baseados em nomes acessíveis através do HTTPS requer que você ative o mod_ssl e adicione uma configuração similar como no exemplo acima:
Listen 443
NameVirtualHost *:443
# Accept connections for these vhosts from non-SNI clients
# Clients without SNI will be handled by the first defined vhost.
# If you only want SNI-enabled client, put on instead
SSLStrictSNIVHostCheck off
<VirtualHost *:443>
ServerName www.yourfirstdomain.tld
DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>
<VirtualHost *:443>
ServerName www.yourseconddomain.tld
DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>
Lembre-se de que o uso do SSL exige que você compre certificados SSL para seus domínios - ou gere alguns certificados auto-assinados e configure o Apache para usá-los em conexões SSL.
Tags vps apache-2.2 domain