Многие администраторы, имеющие дело с ISA Firewall,
забывают о том, что ISA Firewall является не только сетевым
брандмауэром корпоративного класса, но и отличным устройством
веб-кэширования. Функция веб-кэширования позволяет ISA
Firewall кэшировать отклики, которые он получает на запросы
пользователей, расположенных позади ISA Firewall. Это может
ускорить работу пользователей в Интернет и даже дать
пользователям возможность просматривать сохраненные данные,
когда веб-сервер, хранящий у себя эти данные, не работает.
Первым шагом в настройке веб-кэширования будет его
включение. Чтобы сделать это, откройте консоль ISA Firewall и
затем раскройте список Configuration в левой части
консоли. Нажмите на строку Cache, а затем выберите
вкладку Tasks. Нажмите на ссылку Define Cache Drives
(Enable Caching)
Рисунок 1
В диалоговом окне Define Cache Drives введите объем
дискового кэша, который вам нужен. Обычно я даю около 10 Мб на
пользователя. В примере, приведенном ниже, вы видите, что я
устанавливаю размер кэша на 250 MB. Помните, что
максимальный размер кэша на одном диске составляет 64 Гб. К
тому же, диск должен использовать систему NTFS.
Рисунок 2
Щелкните правой кнопкой на список Cache в левой
части консоли и нажмите Properties.
Рисунок 3
На вкладке Generalв диалоговом окне Cache
Settings вам будет сказано, какой размер у вашего
кэша.
Рисунок 4
На вкладке Advanced у вас есть несколько опций.
Опция Cache objects that have an unspecified last
modification time позволяет ISA Firewall кэшировать
объекты, не имеющие отметки времени. При кэшировании этих
объектов вы можете установить правила кэширования,
определяющие, как долго эти объекты будут оставаться в
кэше.
Опция Cache objects even if they do not have an HTTP
status code of 200 позволяет вам кэшировать страницы, не
возвращающие ответ «OK» при соединении с нужным веб-сервером.
Это дает возможность оффлайнового кэширования и другие типов
кэширования.
Опция Maximum size of URL cached in memory (bytes)
позволяет вам настроить максимальный размер файла, помещаемого
в кэш внутренней памяти. Кэш внутренней памяти значительно
быстрее, чем дисковый кэш, так что вам не стоит забивать его
большими объектами вроде графики или файлов. Вы можете ввести
ту величину, которую захотите, но данная по умолчанию
составляет 12800 байт.
У вас есть две опции для строки If Web site of expired
object cannot be reached (Если веб-сайт объекта с истекшим
сроком действия не может быть достигнут). Вы можете
настроить ISA Firewall так, чтобы:
- Do not return the expired object (return an error
page) ISA Firewall возвращал ошибку, показывающую, что
объект более недоступен, даже если объект есть в кэше.
- Return the expired object only if expiration was.
ISA Firewall возвращал объекты в кэше, даже когда веб-сайт
недоступен. Как долго ISA Firewall будет продолжать это
делать, зависит от следующего параметра: At less than
this percentage of original Time-to-Live, But no more
than (minutes). Эти две опции определяют, как долго
объект будет возвращаться из кэша, в то время как
веб-сервер, на котором размещено это содержимое, будет
недоступен.
Опция Percentage of free memory to use for caching
определяет, сколько процентов памяти будет выделено для файла
кэша. Это на самом деле не процент «свободной» памяти,
поскольку размер памяти кэша не меняется со временем, и память
не будет выделяться для других процессов. Так что это
статическая величина, определяемая тем, как много памяти у
вашего компьютера. По умолчанию стоит 10%, но если у вас много
оперативной памяти, вы можете увеличивать этот параметр
интервалами в 10%, пока вы не столкнетесь с вопросом о том,
сколько памяти вы можете выделить на веб-кэширование.
Рисунок 5
Создание правил кэширования
Правила кэширования позволяют вам задавать, какие объекты
вы хотите кэшировать и типы кэширования для них. Чтобы создать
правило кэширования, щелкните по списку Cache в левой
части консоли ISA Firewall, а затем выберите вкладку
Tasks. Нажмите на ссылку Create a Cache Rule
Рисунок 6
На странице Welcome to the New Cache Rule Wizard
введите имя для правила кэширования. В этом примере мы
создадим правило, применимое для всего содержимого Интернет,
за исключением сайта Microsoft Update, для которого есть
особое правило, стоящее надо всеми остальными. Нажмите
Next.
Рисунок 7
На странице Cache Rule Destination нажмите кнопку
Add. В диалоговом окне Add Network Entities
выберите назначение правила. В этом примере мы хотим применить
правило для всего доступа к Интернет, так что мы нажмем на
папку Networks и затем дважды щелкнем по записи
External. Обратите внимание, что вы можете создавать
очень точно настроенные правила кэширования, используя такие
назначения как URL Set или Domain Name Set. В
диалоговом окне Add Network Entities нажмите
Close
Рисунок 8
На странице Content Retrieval вы устанавливаете,
каким образом объекты, находящиеся в кэше, возвращаются
пользователям по их запросу. У вас есть три возможности:
- Only if a valid version of the object exists in
cache. If no valid version exists, route the request to the
server (Только если действительная версия объекта существует
в кэше. Если таковой нет, перенаправить запрос к
серверу). Таким образом, если в кэше находится версия
объекта с истекшим сроком действия, ISA Firewall соединится
с веб-сервером, чтобы получить свежую версию объекта.
- If any version of the object exists in cache. If none
exists, route the request to the server (Если любая версия
объекта есть в кэше. Если нет, перенаправить запрос к
серверу). Таким образом, если любая версия объекта есть
в кэше, она будет возвращена пользователю, даже если ее срок
действия истек. Если в кэше нет объекта, брандмауэр
соединится с веб-сервером, чтобы получить его.
- If any version of the object exists in cache. If none
exists, drop the request (never route the request to the
server) (Если любая версия объекта есть в кэше. Если нет,
отменить запрос. (никогда не перенаправлять запрос к
серверу)) . Если любая версия есть в кэше, она будет
возвращена пользователю. Если в кэше нет объекта, ISA
Firewall не будет пытаться получить его с веб-сервера и
просто отменит запрос.
По умолчанию выставлено Only if a valid version of the
object exists in the cache. If no valid version exists, route
the request to the server. В этом примере мы оставим
настройки по умолчанию, нажмите Next.
Рисунок 9
На странице Cache Content вы определяете, какие
именно объекты хранятся в кэше. По умолчанию, в кэш помещаются
только те объекты, чей источник и заголовки запроса
показывают, что объект должен быть помещен в кэш. Однако мы
можете выбрать опцию Never, no content will ever be
cached. Таким образом, если есть страница, содержимое
которой вы никоим образом не хотите помещать в кэш, возможно
потому что вам всегда нужны наиболее новые объекты, вам стоит
выбрать эту опцию.
Тремя другими опциями являются:
- Dynamic content: Когда вы выбираете эту опцию,
ISA Firewall будет кэшировать содержимое, даже если
веб-сервер показывает, что эти объекты не должны быть
помещены в кэш.
- Content for offline browsing: Это разрешает ISA
Firewall кэшировать содержимое, даже когда веб-сервер
недоступен, или местоположение объектов поменялось.
- Content requiring user authentication for
retrieval: Это предоставляет ISA Firewall доступ к тому
содержимому, что требует авторизации пользователя.
Осторожней с этой опцией, поскольку в потенциале это может
позволить пользователям просматривать защищенные объекты
других пользователей.
Нажмите Next.
Рисунок 10
На странице Cache Advanced Configuration вы можете
ограничить размер кэшируемых объектов. По умолчанию
ограничения не стоит. Однако если вы выберете опцию Do not
cache objects larger than вы сможете выставить
максимальный размер кэшируемого объекта. Используйте эту
опцию, если вас беспокоит быстрое наполнение файла кэша очень
большими объектами, такими как картинки или файлы данных.
Другой опцией на этой странице является Cache SSL
responses. Имейте в виду, что ISA Firewall не может
кэшировать SSL запросы в конфигурации с перенаправлением по
Web proxy, потому что он не может видеть, что находится внутри
«туннеля» SSL. Однако если вы установите программу от
Collective Software под названием ClearTunnel, вы
сможете кэшировать запросы, сделанные через SSL соединение.
Для дополнительной информации по этой программе пройдите по
ссылке http://www.collectivesoftware.com/.
Нажмите Next.
Рисунок 11
Страница HTTP Caching Если источником не будет
задано время истечения срока действия, HTTP объекты,
помещенные в кэш, будут обновляться соответственно настройкам
«времени жизни» (time-to-live, TTL). TTL – это тот отрезок
времени, в течение которого объект будет оставаться в кэше,
прежде чем истечет его срок действия. Возраст объекта – это
отрезок времени, прошедший с тех пор, как объект был создан
или изменен. Эта информация содержится в заголовке
объекта.
Опция Set TTL of objects (% of content age) по
умолчанию выставлена на 20%. HTTP объекты останутся
действительными в кэше сообразно настройкам TTL. Настройки TTL
базируются на TTL, указанном в заголовке ответа, и
ограничениях TTL, определенных в правиле кэширования. Процент
возраста содержимого – это процент времени существования
содержимого. Чем выше этот процент, тем реже будет обновляться
кэш.
Вы также можете задать временные ограничения TTL, в том
числе с помощью опций No less than и No more
than
Наконец, вы можете отключить истечение срока действия,
установленное в заголовке объекта, выбрав опцию Also apply
these TTL boundaries to sources that specify
expiration.
Нажмите Next.
Рисунок 12
ISA Firewall также может кэшировать объекты, полученные
через FTP для клиентов Web Proxy (ISA Firewall не будет
кэшировать отклики FTP для не-Web proxy клиентских
приложений). По умолчанию FTP кэширование включено и выбран
TTL в один день. Вы можете изменить эти настройки под свои
нужды. Нажмите Next.
Рисунок 13
На странице Completing the New Cache Rule Wizard
нажмите Finish.
Рисунок 14
На вкладке Cache Rules щелкните правой кнопкой по
правилу All Sites и нажмите Move Down. Нам нужно
сделать это, чтобы правило Microsoft Update Cache Rule
было наверху.
Рисунок 15
Заключение
В этой статье мы сделали паузу в описании набора сетевых
возможностей ISA Firewall и обратили внимание на функцию
веб-кэширования фильтра Web proxy. Мы обсудили процесс
включения кэша и настроили основные параметры веб-кэша. Затем
мы посмотрели, как создается правило кэширования, а также
обсудили возможности правил кэширования.