Por que o Apache está respondendo a http: // machineName

1

Gostaria de impedir que o Apache responda a

http://machineName. 

Eu preferiria que ele respondesse (ou redirecionasse?) para

http://machineName.something.com

No meu caso,

http://intra-beta 

deve responder ou redirecionar para

http://intra-beta.domain.ca

Isto está relacionado com useCanonicalName?

Aqui está um trecho do meu httpd.conf

...

ServerName xxx.xxx.xxx.xxx:80

NameVirtualHost *:80

...

UseCanonicalName Off

...

<VirtualHost *:80>
    ServerName      intra-beta.domain.ca

    DocumentRoot "E:/web/intra/htdocs"
    ServerAdmin  [email protected]

    ...
</VirtualHost>

<VirtualHost *:80>
    ServerName   intra.otherDomainFr.ca

    DocumentRoot "E:/web/intra/htdocs"
    ServerAdmin  [email protected]

    ...
</VirtualHost>

<VirtualHost *:80>
    ServerName   intra.otherDomainEn.ca

    DocumentRoot "E:/web/intra/htdocs"
    ServerAdmin  [email protected]

    ...
</VirtualHost>

Editar # 1

Isto parece funcionar até agora ...

RedirectMatch (.*) intra-beta.domain.ca$1

Editar # 2

Que tal uma situação como esta:

<VirtualHost _default_:443>
#   General setup for the virtual host
DocumentRoot "E:/web/inter-ssl/htdocs"
ServerName   inter-dev.domain.ca:443
ServerAdmin  [email protected]

...
</VirtualHost>

Se eu fizer as modificações para que fique assim:

<VirtualHost *:443>
    ServerName inter-dev
    RedirectMatch (.*) inter-dev.domain.ca$1
</VirtualHost>

<VirtualHost _default_:443>
    #   General setup for the virtual host
    DocumentRoot "E:/web/inter-ssl/htdocs"
    ServerName   inter-dev.domain.ca:443
    ServerAdmin  [email protected]

    ...
 </VirtualHost>

Eu recebo um erro relacionado a muitos redirecionamentos. Se bem entendi, o SSL funciona de maneira diferente e essa correção pode não ser uma implementação correta nessa situação?

    
por TekiusFanatikus 26.07.2012 / 16:17

2 respostas

2

Você precisa configurar explicitamente seu redirecionamento:

<VirtualHost *:80>
  ServerName intra-beta
  RedirectMatch /.* http://intra-beta.domain.ca
</VirtualHost>

No seu caso, todas as solicitações cujo Host: cabeçalho não corresponde a nenhum dos ServerNames configurados serão respondidas pelo primeiro VirtualHost cujo endereço IP corresponde. Assim, se você colocar o novo VirtualHost acima na primeira posição em seu arquivo de configuração, todas as solicitações cujo Host: cabeçalho seja diferente de intra-beta.domain.ca , intra.otherDomainFr.ca ou intra.otherDomainEn.ca serão redirecionadas para http://intra-beta.domain.ca . / p>     

por 26.07.2012 / 16:32
0

em / etc / hosts você tem uma entrada

127.0.0.1   machine   machine.domain.com

ou você configurou o dns para assumir o domínio local para cada nome de host e está tentando resolver o nome do host com esse domínio local sempre que um nome de host estiver na consulta DNS.

    
por 26.07.2012 / 16:21

Tags