Se eu for o proprietário do x.x.x.x
servidor da Web, posso criar dois sites separados x.x.x.x/one
e x.x.x.x/two
dar a eles dois domínios diferentes?
Como vai lidar com links internos no caso (es. x.x.x.x/one/foo/page.html
)?
Estou usando CentOS 7 com LAMP e WordPress para alguns dos sites
Sim. Isso seria feito apontando esses domínios para o seu servidor web via DNS.
Isso depende do seu software de servidor web. Você certamente poderia apontar ambos os domínios para o seu servidor, mas caberia ao software do servidor distinguir qual tráfego foi destinado a qual domínio.
Alguns projetos de servidor web menores não suportam esse tipo de recurso. No entanto, projetos maiores geralmente o fazem. Nos casos de Apache e Nginx, esse suporte vem por meio de hosts virtuais baseados em nome e blocos de servidor , respectivamente. Ambos os projetos também suportam Server Name Indication (SNI) para conexões TLS (HTTPS).
Normalmente, você definiria o caminho completo para sua
one
pasta como a raiz do documento, por exemplo, em seu host virtual ou configuração de bloco de servidor (ou seja, onde o domínio "principal" começa). Uma página que referenciava, por exemploexample.com/foo/page.html
, estaria referenciando, por exemplo,x.x.x.x/one/foo/page.html
. Se você quiser usar apenas, por exemploexample.com/page.html
, defina a raiz do documento para o caminho completo defoo
.WordPress
O WordPress tem seus próprios métodos para lidar com domínios. No seu caso de exemplo, supondo que você queira que o WordPress lide com ambos os domínios, você:
Especifique dois domínios no DNS.
Crie dois, por exemplo, hosts virtuais (no Apache) correspondentes a esses domínios.
Defina cada raiz do documento para apontar sua instalação do WordPress.
Configure o WordPress para atender a esses dois domínios.
Caso contrário, você simplesmente apontaria uma raiz de documento para sua instalação do WordPress (e configuraria apenas um domínio no WordPress) e apontaria a outra raiz de documento para seus arquivos não WordPress.
Notas
Para a explicação acima, suponho que você tenha seu servidor da Web configurado em
x.x.x.x
eone
efoo
os diretórios abaixo da raiz do documento padrão que você já configurou para o servidor.Vale ressaltar que o DNS aponta apenas para endereços IP (por exemplo
1.2.3.4
, ) ou, no caso de registros CNAME, domínios inteiros (por exemplo,example.com
). Você não pode apontar o DNS para, por exemplo,http://1.2.3.4/one
.Existem alguns provedores de domínio que podem oferecer redirecionamentos da web (por exemplo, para
http://1.2.3.4/one
), mas eles não fazem parte do DNS. Como as solicitações de páginas seriam tratadas nessa situação (novamente) dependeria inteiramente do seu servidor.Exemplos Mínimos de Host Virtual Apache
ex. Domínios Regulares
ex. Subdomínios
Algo a ter em mente se você estiver usando HTTPS (HTTP+TLS): há uma ordem específica de operações no início da transação:
Se você tiver vários nomes de host DNS apontando para o mesmo endereço IP, precisará garantir que o certificado TLS do seu site cubra todos os nomes de host servidos pelo seu servidor. O cliente não informa ao servidor o nome do host que está tentando obter até que a solicitação HTTP chegue (etapa 3), mas o cliente sabe o nome do host desejado antes da etapa 1 e espera que o certificado do servidor enviado a ele na etapa 2 tenha um nome de host correspondente ou o navegador provavelmente exibirá uma tela de aviso "este servidor pode ser representado".
Isso é bastante simples se você tiver um certificado curinga e todos os nomes de host estiverem no domínio coberto por esse certificado. Fica mais complicado se você precisar fornecer uma lista de nomes de host (também conhecidos como "nomes alternativos de assunto") ao seu provedor de certificados para que todos sejam incluídos.
Há um mecanismo de renegociação de TLS que pode servir a diferentes certificados com base no nome do host, antes da etapa 3, mas é irregular e a maioria dos servidores não o configura. É muito mais fácil configurar um servidor web para atender a um certificado.
É possível, a configuração exata dependendo do seu servidor web. Por exemplo, para Apache, veja aqui .
Você precisará ter o DNS para ambos os domínios para apontar para o endereço IP do seu servidor - apenas um deles pode ser definido como o endereço reverso (IP para resolução de nome de domínio).