Tem vários hosts virtuais apontando o mesmo ip local

0

É possível criar vários vhosts no Apache apontando o mesmo IP de rede local?

Por exemplo: Minha máquina tem o endereço local: 192.168.1.12

Posso ter dois vhosts apontando o mesmo endereço, mas portas diferentes:

  • 192.168.1.12:1 site local 1,
  • 192.168.1.12:2 site local 2.

        Teste ServerName     Teste ServerAlias     DocumentRoot "$ {INSTALL_DIR} / www / test"              Opções + Índices + Inclui + FollowSymLinks + MultiViews         DirectoryIndex index.php         AllowOverride All         Ordem permitir, negar         Permitir de todos         Exigir local      

Se eu definir apenas um vhost sem consertar a porta, ele funciona. Exemplo: 192.168.1.12.

Se eu tentar acessar 192.168.1.12:1 ou 192.168.1.12:2, não consigo acessar o servidor.

Este é o meu httpd.conf: link

    
por peppe 27.11.2017 / 19:24

1 resposta

0

Supondo que você tenha um roteador SOHO, o que você está propondo não funcionará, mas existe uma solução.

O problema que você vai encontrar é que você está tentando vincular vários endereços IP a uma única máquina e ter sites diferentes em cada um deles. Não há problema em fazer isso - no entanto, seu roteador SOHO provavelmente só poderá mapear 1 endereço IP na porta 80.

A solução é ter vários sites no mesmo endereço IP interno - e esta é uma configuração comum, e tem sido suportada desde o RFC2068 em 1997. A maneira como isso funciona é que todos os sites apontam para o mesmo endereço IP, e A primeira coisa que eles fazem quando se conectam é informar qual o nome de domínio que eles queriam. Isso é chamado de hospedagem virtual baseada em nome.

Para fazer isso no Apache, você precisa das seguintes diretivas:

Certifique-se de que a diretiva "NameVirtualHost X.X.X.X" esteja no arquivo de configuração do apache - este é o endereço IP interno no qual o servidor está sendo executado.

Em seguida, para cada site, configure uma pasta virtualhost como

<VirtualHost *:80>
ServerName www.domain.name.of.website
ServerAlias domain.name.of.website alt.domain.name.of.website
DocumentRoot /path/to/website/document/root/

(Other directives specific to site here)
</VirtualHost>

Note que a diretiva ServerAlias é opcional.

Observe também que você pode fazer algo parecido com a hospedagem HTTPS na porta 443, mas também precisa especificar chaves de certificado, e isso só funcionará para sistemas mais recentes (Windows 7 e posteriores).

    
por 27.11.2017 / 21:16