1 votes

Servez plusieurs serveurs à partir de la même adresse IP

J'ai vu d'autres questions à ce sujet qui étaient similaires, mais pas exactes.

Mon problème est le suivant : j'ai un serveur domestique qui héberge mon site web et utilise mon adresse IP extérieure. En fait, mon nom de domaine est dirigé vers cette adresse IP. J'ai un deuxième ordinateur sur lequel j'aimerais également faire tourner un serveur web. La seule façon à laquelle j'ai pensé pour le faire était d'utiliser un port différent et de continuer à accéder à mon domaine. Ainsi, www.mydomain.com me conduirait à mon site principal, mais www.mydomain.com:8080 me conduirait à mon deuxième ordinateur qui héberge un site.

Est-ce que cela a un sens ? C'est possible puisque ce sont des ordinateurs différents et que je n'ai vraiment qu'une seule adresse IP.

Je pense que je pourrais créer un sous-domaine comme sub.mydomain.com mais je ne suis pas sûr que cela soit utile.

Gracias.

2voto

easel Points 2466

Oui, vous pouvez faire tourner un site web séparé sur un port différent. Mais pour ce qui est d'avoir un sous-domaine, cela n'a pas vraiment d'importance car un domaine ne peut pointer que vers une adresse IP, pas vers une adresse IP + un port. Par défaut, les sites Web utilisent le port 80 :

http://domain.com est la même chose que http://domain.com:80

Donc, si vous avez un sous-domaine et que vous faites tourner un site web sur un port différent, vous devrez spécifier le port avec le sous-domaine. http://sub.domain.com:8080

1voto

Szundi Points 309

Vous pouvez également spécifier des hôtes virtuels dans votre serveur de port 80 afin qu'un certain domaine (sub.mydomain.com) soit redirigé vers sub.mydomain.com:8080.

Mettez ceci à la fin de votre fichier httpd.conf (en supposant qu'Apache dispose de mod_rewrite) :

NameVirtualHost *:80

<VirtualHost *>
  ServerName mydomain.com
  DocumentRoot "C:/Web/Docs/"
</VirtualHost>

<VirtualHost *>
  ServerName sub.mydomain.com
  DocumentRoot "C:/Web/Docs/FileWithPHPRedirect/JustInCase"
  RewriteEngine On
  RewriteCond %{SERVER_PORT} !8080$
  RewriteRule ^(.*) https://sub.mydomain.com:8080$1 [R=301,L] 
</VirtualHost>

Demandez à votre pare-feu de transférer le port 8080 vers le second serveur. Les chemins ici sont des chemins Windows, changez-les si nécessaire.

0voto

Corey Points 504

Il y a plusieurs options ici, en fonction de ce que vous voulez faire exactement. Les deux machines ne peuvent pas répondre sur la même IP et le même port, donc la solution la plus simple est de l'exécuter sur un autre port.

J'utiliserais plutôt la machine primaire comme entrée DNS et je passerais le trafic à partir de là. Vous pourriez donc configurer votre serveur Web pour qu'il serve de proxy ou redirige l'autre domaine, ou même le sous-dossier, vers l'autre machine.

Ainsi, www.domain.com irait à la machine1. www.domain.com/otherfolder irait toujours à la machine1, mais serait ensuite redirigé ou mandaté vers la machine2. La redirection est facile à configurer, mais l'URL contient toujours le port alternatif. Le proxy est la solution la plus transparente, car tout est toujours adressé directement à la machine1. Il peut cependant répondre un peu plus lentement, car toute la communication passe par les deux serveurs Web avant d'arriver au client final.

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