Apache ограничить домен
Я хотел бы настроить Apache (2.2) так, чтобы он ограничивал доступ к доменам пользователей, например, если полное доменное имя apache - myapache.myfunnydomain.com, тогда apache будет разрешать запросы только к ресурсам на.myfunnydomain.com (или к любому домену, который я настроил как разрешенный), и отказывать все остальные запросы (перенаправить на страницу с ошибкой)
Вариант использования:
- Пользователь пытается получить доступ к ограниченному ресурсу
- Я использую OpenAm / OpenAm policyAgent для аутентификации (PolicyAgent устанавливается как модуль Apache, который прослушивает весь трафик)
- Модуль OpenAm policyAgent перехватывает это и перенаправляет пользователя на страницу входа
- URL для этой страницы входа имеет вид www.loginpage.com/?goto=originallyrequestedresource.com
- Когда пользователь нажимает кнопку входа, этот POST отправляется в параллельную систему OpenAM
- Как только OpenAM аутентифицируется, он использует это goto, чтобы перенаправить пользователя к значению 'goto' (используя 302)
- Я хочу убедиться, что пользователь никогда не будет перенаправлен на домен, отличный от моего разрешенного домена
Например, если кто-то взломал систему и сумел изменить значение goto, тогда apache не позволит этому запросу успешно выполнить
1 ответ
Создать vhost.. Порядок vhost имеет значение.. первый vhost обслуживается, если ни один из vhost не совпадает..
взгляните на http://httpd.apache.org/docs/2.2/vhosts/name-based.html
создать что-то вроде
NameVirtualHost *:80
<VirtualHost *:80>
ServerName dummy.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain/dummy
</VirtualHost>
<VirtualHost *:80>
ServerName www.domain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
Пусть первый vhost будет всеобъемлющим vhost..(перенаправление на страницу ошибки, если к ней обращались независимо от запроса)
тогда последующие vhosts могут быть конкретными vhosts, которые отвечают на конкретные fqdn...
В приведенном выше примере все запросы, которые не совпадают с wwww.domain.tld, будут отправлены первым vhost....
Вы также можете прочитать директиву serverAlias по адресу http://httpd.apache.org/docs/2.2/mod/core.html.
--Надеюсь это поможет...