Question Configuration de domaines spécifiques au client


Je peux aller sur le site Web de Fog Creek, créer un nouveau compte, et ils me donneront instantanément une URL telle que "mycompany.fogbugz.com" (où "mycompany" est quelque chose que je compose, par opposition à une valeur attribuée par Fog Ruisseau). Je peux faire le même type de chose avec Beanstalk et de nombreux autres fournisseurs. Je suis allé sur Google pour essayer de comprendre exactement comment cela fonctionne.

1: Dans l'exemple ci-dessus, "mycompany.fogbugz.com" est-il configuré dans le DNS d'une autre manière que la configuration d'un domaine "www.foo.com"?

2: En supposant que Fog Creek utilise Tomcat (ce qui, j'en suis sûr, n’est PAS vrai, mais supposons que ce soit le cas) aurait-il probablement créé un sous-répertoire tomcat / webapps / mycompany sur leur serveur? Ou existe-t-il un moyen plus simple de gérer cela?

Je ne suis évidemment pas un assistant DNS ou TC. Toute idée appréciée. Bonne année!


4
2018-01-03 20:14


origine




Réponses:


C'est ce qu'on appelle un sous-domaine générique (dans le DNS) qui est ensuite traité à l'aide de la réécriture d'URL.

Un sous-domaine générique ressemble à ceci:

*.domain.tld.      IN  A    1.2.3.4

Ensuite, vous pouvez configurer apache pour accepter les requêtes de n’importe quel sous-domaine:

<VirtualHost 111.22.33.55>
    DocumentRoot /www/subdomain
    ServerName www.domain.tld
    ServerAlias *.domain.tld
</VirtualHost>

Ensuite, vous pouvez utiliser mod_rewrite pour rediriger le trafic sur l'un de ces sous-domaines vers un sous-dossier ou une chaîne de requête. Quelque chose comme ça:

RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule (.*) %2/$1 [L]

7
2018-01-03 20:20



Vous pouvez réellement éviter mod_rewrite et tout faire dans un seul bloc VirtualHost, en utilisant VirtualDocumentRoot. Ceci s'appelle 'Hébergement virtuel de masse'. Voir httpd.apache.org/docs/2.2/vhosts/mass.html. Cela vous permet de créer simplement un nouveau site Web en créant un répertoire. Par exemple, si vous utilisez le sous-domaine générique dans DNS, vous pouvez définir 'VirtualDocumentRoot / var / www /% - 3'. Ensuite, si vous créez simplement un répertoire / var / www / mysite, celui-ci sera visible en tant que site Web mysite.domain.tld. Facile n'est-ce pas? Le% -3 signifie, divise le nom d’hôte et prend la troisième partie de la droite, c’est-à-dire 'mysite'. - Martijn Heemels


Je ne sais pas à propos de tomcat, mais dans IIS si le site Web est défini sur une adresse IP (c'est-à-dire sans en-tête / sous-domaine d'hôte spécifique), tous les sous-domaines pointeront vers le même site (je ne suis pas sûr de la terminologie exacte utilisée ici)

Si tel est le cas, vous pouvez détecter le sous-domaine par programme et réagir en conséquence.


2
2018-01-03 20:21





Une façon exemplaire de le faire est subdomain_fu, qui est un gestionnaire de sous-domaines pour les rails, a expliqué dans ce screencast: http://media.railscasts.com/videos/123_subdomains.mov.

Conceptuellement: vous pouvez configurer apache avec un alias de serveur fourre-tout sous-domaine, puis effectuer le traitement de sous-domaine avec votre structure Web.


1
2018-01-03 20:22