Отключить веб-сайт для ответа на запрос, кроме статических файлов - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть 2 веб-сайта на моем IIS, которые имеют одинаковое физическое местоположение на диске.Пример:

www.xxx.com    path on disk : c:\www\xxx.com
img.xxx.com    path on disk : c:\www\xxx.com

Я хочу, чтобы img.xxx.com отвечал только на статические файлы, такие как изображения, файлы CSS и JS.

Моя главная цель - обслуживать статические файлы из домена без файлов cookie (используяimg.xxx.com для запросов без файлов cookie).Но если я пишу img.xxx.com в браузер, я вижу тот же контент с www.xxx.com.Я хочу заблокировать все запросы на img.xxx.com, кроме запросов к изображениям, css и js.

Я не хочу устанавливать другую папку для img.xxx.com, поскольку мне очень трудно изменить URL-адрес всех изображений на новый URL-адрес.

Ответы [ 3 ]

0 голосов
/ 03 ноября 2010

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

Единственная проблема - вам нужно отфильтровать доступ только к ограниченному списку типов файлов в домене img.xxx.com.

Вы можете сделать это на уровне IIS - например, настроить перезапись ISAPI для типов файлов, которые вы хотите заблокировать http://www.isapirewrite.com/.

Вам все равно нужно будет изменить URL-адреса в своем приложении (т. Е. В html - с www.xxx.com на img.xxx.com).

Я думаю, что вы также сможете сделать это, используя asp.net - создав новый сайт asp.net под новым доменом и в новой папке, а затем настроив виртуальную папку на этом сайте, ссылающуюся на исходный папка. Затем вы можете контролировать доступ к типам файлов через новый asp.net web.config. Опять же, вам нужно изменить URL в html (с www.xxx.com на img.xxx.com/virtual_folder). Хотя я никогда не пробовал ничего подобного - возможно, в этой идее есть недостаток.

0 голосов
/ 03 ноября 2010

Почему бы не простой HttpHandler, который проверяет URL-адрес каждого запроса и выдает ошибку, если домен img.xxx.com и файл не является статичным?

Может быть, есть подвох, но, насколько я могу судить, это может сработать.

(речь идет только о части «заблокировать все запросы к img.xxx.com, за исключением изображений, css и js», а не о доменной части без файлов cookie)

0 голосов
/ 03 ноября 2010

Не думаю, что ваша идея сработает. Вам нужен физически другой домен, чтобы иметь действительно домен без файлов cookie.

Чтобы зарезервировать домен без файлов cookie для обслуживания статического содержимого, зарегистрируйте новое имя домена и настройте базу данных DNS с записью CNAME, которая указывает новый домен на существующую запись домена А. Настройте веб-сервер для обслуживания статических ресурсов из нового домена и не разрешайте установку файлов cookie в этом домене. На своих веб-страницах укажите имя домена в URL-адресах для статических ресурсов.

http://code.google.com/speed/page-speed/docs/request.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...