1 votes

Utilisation de plus d'une adresse IP externe sur un serveur dédié?

Alors j'achète un serveur dédié et le fournisseur me dit que j'ai 4 IPs utilisables. Disons que ce sont ip1, ip2...ip4, donc je veux configurer mon serveur dédié pour exécuter plusieurs domaines sur ces IPs, par exemple domain1 sur ip1... J'ai fait cela sans problème, maintenant je veux que lorsque j'exécute un script php sur domain1/script.php et que ce script récupère des données (file_get_contents()) depuis whatismyip.com (juste pour l'exemple), whatismyip.com montre ip1, et lorsque j'exécute sur domain2, il montre ip2, etc. Cela signifie que chaque domaine a sa propre IP externe séparée, j'ai besoin d'aide pour savoir comment configurer cela sur un serveur basé sur Linux (CentOS). Je sais que c'est possible, un VPS est un exemple de la façon dont cela fonctionne, mais je veux savoir où est la solution, ai-je besoin d'un script Linux personnalisé lancé à partir du code PHP, ou d'une configuration apache ou d'une troisième option ? S'il vous plaît aidez-moi si vous connaissez la solution. Merci d'avance.

1voto

Si vous utilisez spécifiquement file_get_contents, vous devez utiliser l'appel de fonction stream_create_context pour créer un contexte et le lier à l'IP spécifique que vous souhaitez. Quelque chose comme ceci :

$opts = array(
    'socket' => array(
        'bindto' => '192.168.0.100:0',
    ),
);
$context = stream_context_create($opts);
echo file_get_contents('http://whatismyip.com', false, $context);

Cela vous permettra de contrôler quelle IP est utilisée pour la connexion sortante.

ÉDITER : voir http://www.php.net/manual/en/context.socket.php pour plus de détails.

0voto

1) Vous devez enregistrer les domaines pour pointer vers les adresses IP que vous souhaitez avec votre fournisseur DNS :

host1.com -> 10.1.1.1 host2.com -> 10.1.1.2 host3.com -> 10.1.1.3 host4.com -> 10.1.1.4

2) Essayez de créer des hôtes virtuels dans apache comme ceci : mais créez une entrée d'hôte virtuel pour chaque IP afin d'obtenir 4 hôtes virtuels.

    ServerAdmin webmaster@host1.com
    DocumentRoot /var/www/html/host1.com
    ServerName host1.com
    ErrorLog /var/log/httpd/host1.com-error_log
    TransferLog /var/log/httpd/host1.com-access_log

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X