Назад | Перейти на главную страницу

Настройка клиентских доменов

Я могу перейти на веб-сайт Fog Creek, настроить новую учетную запись, и они немедленно назначат мне URL-адрес, например mycompany.fogbugz.com (где mycompany - это то, что я придумал, а не какое-то значение, присвоенное Fog Ручей). Я могу делать то же самое с Beanstalk и многими другими поставщиками. Я искал в Google, пытаясь понять, как именно это работает.

1: В приведенном выше примере, настроен ли mycompany.fogbugz.com в DNS каким-то особым образом, кроме того, как можно было бы настроить ванильный домен www.foo.com?

2: Предполагая, что Fog Creek использует Tomcat (что, я уверен, НЕ правда, но представьте, что это так), вероятно, они создали подкаталог tomcat / webapps / mycompany на своем сервере? Или есть более простой способ справиться с этим?

Я явно не мастер DNS или TC. Любое понимание ценится. С Новым Годом!

Это то, что называется поддоменом с подстановочными знаками (в DNS), который затем обрабатывается с помощью перезаписи URL.

Поддомен с подстановочными знаками выглядит так:

*.domain.tld.      IN  A    1.2.3.4

Затем вы можете настроить apache для приема запросов на любой поддомен:

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

Затем вы можете использовать mod_rewrite для перенаправления трафика на одном из этих поддоменов во вложенную папку или строку запроса. Что-то вроде этого:

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

Я не знаю о tomcat, но в IIS, если веб-сайт настроен на IP-адрес (т.е. без определенного заголовка хоста / поддомена), все поддомены будут указывать на один и тот же сайт (не уверен в точной терминологии здесь)

Если это так, вы можете программно обнаружить субдомен и соответствующим образом отреагировать.

Один примерный способ сделать это: subdomain_fu, который является обработчиком поддомена для рельсов, объясненный в этом скринкасте: http://media.railscasts.com/videos/123_subdomains.mov.

Концептуально: вы можете настроить apache с псевдонимом сервера для всех поддоменов, а затем выполнять обработку поддоменов в рамках своей веб-фреймворка.