centos httpd.conf defina ip diferente para um diretório

0

Eu tenho 3 IPs no meu servidor, quero usá-los para aumentar os limites da API do Twitter.

Como definir um ip diferente para um diretório em centos 6.1 httpd.conf (Apache 2.3.1)

Eu adicionei essas linhas na parte inferior de httpd.conf

<VirtualHost NEW IP:80>
    ServerName mydomain.com/subdir
    ServerAlias www.mydomain.com/subdir
    DocumentRoot /var/www/html/subdir
    <directory "/var/www/html/subdir">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Allow from all
    </directory>
</VirtualHost>

Mas quando eu testo /var/www/html/subdir/index.php com código

<?php
function get_server_ip() {
    if (isset($_SERVER)) {
        if($_SERVER['SERVER_ADDR']) {
            $server_ip = $_SERVER['SERVER_ADDR'];
        }else{
            $server_ip = $_SERVER['LOCAL_ADDR'];
        }
    }else {
        $server_ip = getenv('SERVER_ADDR');
    }
    return $server_ip;
}
echo get_server_ip();
?>

ele ainda retorna o OLD IP (ip padrão para o meu servidor). Então é possível e como? Se não pudesse, como usar 3 IPs para aumentar os limites da API do Twitter.

    
por cj333 10.05.2013 / 12:03

1 resposta

1

Fazer configurações de um apache não é suficiente. Para fazê-lo funcionar, você precisa configurar vários endereços IP em sua caixa Centos (RedHat).

Supondo que você tenha apenas uma interface de rede física eth0 , você tem esse arquivo que contém todos os parâmetros relevantes:

$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes

(Este é um exemplo de configuração IP estática para IP = 192.168.1.1, o seu pode e irá variar)

Tudo isso é explicado aqui: Arquivos de configuração do CENTOS de rede e Arquivos de configuração do CENTOS-Interface

Para atribuir outro IP à mesma interface de rede física eth0 faça isso (como root ):

$ cd /etc/sysconfig/network-scripts/
$ cp ifcfg-eth0 ifcfg-eth0:1
$ vi ifcfg-eth0:1

e, em seguida, altere o IPADDR para o novo arquivo (e verifique / altere todos os outros parâmetros)

Você pode fazer o mesmo para o terceiro IP novo fazendo cp ifcfg-eth0 ifcfg-eth0:2 e editar o arquivo.

Então você tem que restar rede para aplicar as alterações (pare o apache antes):

$ service network restart

Verifique a nova configuração:

$ ifconfig 

Você verá listada a configuração da interface para eth1 , eth1:1 , eth1:2 (e provavelmente mais iterfaces como lo - > loopback)

    
por 10.05.2013 / 14:37