Apache ограничить домен

Я хотел бы настроить Apache (2.2) так, чтобы он ограничивал доступ к доменам пользователей, например, если полное доменное имя apache - myapache.myfunnydomain.com, тогда apache будет разрешать запросы только к ресурсам на.myfunnydomain.com (или к любому домену, который я настроил как разрешенный), и отказывать все остальные запросы (перенаправить на страницу с ошибкой)

Вариант использования:

  1. Пользователь пытается получить доступ к ограниченному ресурсу
  2. Я использую OpenAm / OpenAm policyAgent для аутентификации (PolicyAgent устанавливается как модуль Apache, который прослушивает весь трафик)
  3. Модуль OpenAm policyAgent перехватывает это и перенаправляет пользователя на страницу входа
  4. URL для этой страницы входа имеет вид www.loginpage.com/?goto=originallyrequestedresource.com
  5. Когда пользователь нажимает кнопку входа, этот POST отправляется в параллельную систему OpenAM
  6. Как только OpenAM аутентифицируется, он использует это goto, чтобы перенаправить пользователя к значению 'goto' (используя 302)
  7. Я хочу убедиться, что пользователь никогда не будет перенаправлен на домен, отличный от моего разрешенного домена

Например, если кто-то взломал систему и сумел изменить значение 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.

--Надеюсь это поможет...

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