Разрешить доступ к службе xinetd только тогда, когда клиент подключается к определенному поддомену

Этот вопрос касается выделенного сервера под управлением CentOS 5.4. При необходимости я могу подключиться как root для настройки конфигурации hairier.

Я пишу, потому что я настроил svnserve для обработки запросов с использованием xinetd. Это работает отлично, и я с удовольствием совершаю и проверяю без проблем.

На этом сервере также размещены некоторые другие домены, и я могу подключиться к svnserve через любой из них, поскольку все они имеют один и тот же IP-адрес. Хранилища были защищены с помощью мер аутентификации svnserve, так что это не имеет большого значения, но:

Можно ли разрешить подключения к svnserve только тогда, когда клиенты обращаются к нему через sub.mydomain.com? Я изучил документацию для xinetd и TCP_wrappers, ища решение, но пока ничего.

(Я знаю, что одним из вариантов было бы использовать DAV svn вместо svnserve, но я следовал нескольким учебникам, чтобы запустить его и каждый раз терпел неудачу. Решение с svnserve было бы предпочтительнее, поскольку на самом деле оно работает довольно хорошо для меня.)

Спасибо за помощь!

3 ответа

Решение

Xinetd вызывает серверы (в вашем случае svnserve), но не имеет доступа к данным, которыми они управляют. По этой причине xinetd может фильтровать входящие адреса (only_from), но не запрашиваемые домены, поскольку запрашиваемые домены не объявляются в xinetd, а передаются на сервер.

Как и предполагалось, вы можете использовать выделенный IP-адрес для этой службы, чтобы вы могли привязать службу только к этому адресу (используя bind параметр).

Вы можете получить дополнительный IP-адрес, только для этого субдомена.

Как вы знаете, какое доменное имя они запросили? Причина, по которой вы можете сделать это с DAV, заключается в том, что он будет работать под Apache (или другим веб-сервером). Веб-серверы имеют концепцию виртуальных хостов. Свнсерве нет. Вам придется использовать DAV, чтобы получить эту функциональность.

Другие вопросы по тегам