ServerName com IPv6 com Apache

1

Estou basicamente tentando redirecionar todas as solicitações em: 443 para: 443. Eu encontrei este caminho para fazer isso, que funciona muito bem, uma vez que o visitante descartar o alerta SSL (meu certificado não é válido para o meu IP, é claro), ele é redirecionado corretamente:

<VirtualHost *:443>
    SSLEngine off
    ServerAdmin [email protected]
    ServerName 11.11.11.11
    Redirect Permanent / https://domain.eu/
</VirtualHost>

Mas eu habilitei o IPv6 no meu servidor hoje, então gostaria de redirecioná-lo também, mas os problemas começam aqui.

<VirtualHost *:443>
    SSLEngine off
    ServerAdmin [email protected]
    ServerName [ff:ff:8:ff::1]         //(with or without '[]')
    Redirect Permanent / https://domain.eu/
</VirtualHost>

Simplesmente não funciona. Não tenho certeza se isso é por causa de algum suporte ausente do IPv6 no argumento ServerName, mas estou meio que preso.

Você tem alguma ideia? Obrigado!

    
por Komic 14.01.2015 / 17:46

3 respostas

0

Até onde eu sei, a diretiva ServerName não permite um endereço IPv6.

Ele não aceita os colchetes nem o caractere de dois pontos de um endereço IPv6.

Esse formato é válido apenas para as diretivas Listen, NameVirtualHost e VirtualHost.

Dependendo da sua configuração (por exemplo: se você servidor vários domínios na mesma instalação do Apache) você pode tentar o seguinte.

Crie um vhost como faria normalmente e, em vez de definir um ServerName com um endereço IPv6, defina-o com um nome de dns apropriado (que não precisa realmente existir). Agora o truque é colocar este vhost em cima de todos os outros vhosts para esse IP: Port.

Dessa forma, quando um usuário faz uma solicitação por um domínio (ou IP no seu caso) que não é tratado pelo Apache, ele tentará atender à solicitação usando o primeiro VirtualHost encontrado para esse IP: Port.

    
por 14.01.2015 / 18:13
0

Primeiro, '[' e ']' não são válidos para a convenção de nomenclatura DNS, que deve ser preenchida com o valor ServerName. Segundo, ':' também não é válido - tente usá-lo sem esses símbolos ou use um nome de host - a segunda maneira é melhor.

    
por 14.01.2015 / 17:59
0

Você já tentou isso?

Listen [ff:ff:8:ff::1]:80;
<VirtualHost [ff:ff:8:ff::1]:443>
    SSLEngine off
    ServerAdmin [email protected]
    Redirect Permanent / https://domain.eu/
</VirtualHost>

Processe o pedido dependendo do contexto de escuta.

    
por 10.04.2015 / 23:34