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

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

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

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

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

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

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

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

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

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

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

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