Iis настройка расширенного формата журнала w3c

Содержание

Расширенные возможности управления IIS 7.0 с помощью IIS Administration Pack

Для того, чтобы воспользоваться расширенными возможностями администрирования IIS 7.0, необходимо установить Administration Pack.

В состав Administration Pack входит набор модулей, расширяющих функциональность оболочки Internet Information Services Manager:

  • Configuration Editor – редактор конфигурации веб-приложения
  • .NET Authorization Rules – модуль управления правилами авторизации для приложения
  • .NET Error Pages – инструмент конфигурирования страниц, отображаемых в случае возникновения ошибок
  • FastCGI Settings – редактор конфигурации обработчиков CGI приложений, таких как PHP
  • Request Filtering – модуль фильтрации запросов к серверу
  • IIS Reports – инструмент создания графических отчетов по логам сервера

Configuration Editor

Модуль Configuration Manager предоставляет собой графический инструмент для редактирования файлов конфигурации веб-приложений, развернутых на сервере IIS 7.0. С помощью этого инструмента можно изменить любые настройки в файле конфигурации в обход всех остальных графических инструментов, предлагаемых консолью управления IIS Manager.

Сам редактор представляет собой таблицу со списком свойств (атрибутов в XML файле конфигурации) в виде таблицы. Для свойств присутствует валидация на основании типа значения, поэтому можно не бояться случайно ввести текст там, где ожидается число.

Что очень удобно, внутри редактора конфигурации есть список всех возможных параметров конфигурации.

Важной возможностью Configuration Editor является возможность заблокировать часть секций или атрибутов конфигурации приложения для изменений – это может быть удобно при делегировании полномочий по управлению сайтом.

Что еще более удобно, инструмент позволяет экспортировать C#, JavaScript код или набор инструкций командной строки для автоматизации применения настроек блокировки на других серверах.

.NET Authorization Rules и .NET Error Pages

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

Модуль авторизации предлагает возможные варианты правил для разрешения или запрета доступа.

А модуль конфигурирования «ошибочных» страниц позволяет связать адрес страницы с HTTP кодом ошибки.

FastCGI Settings

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

С помощью FastCGI Settings можно задать базовые параметры выполнения обработчика CGI скриптов, а также задать некоторые значения переменным окружения. При этом для настроек отображаются комментарии с описанием того, на что влияет та или иная настройка.

Request Filtering

Модуль Request Filtering позволяет гибко настроить исключения для обрабатываемых запросов.

Так, например, можно исключить обработку к нежелательным типам файлов, скрыть некоторые директории приложения, которые не должны быть доступны извне, запретить или разрешить использование разных типов HTTP запросов и т.п.

Помимо этого можно настроить общие ограничения на длину запроса и размер возвращаемого ответа.

IIS Reports

Инструмент IIS Reports позволяет оперативно получать удобную статистику по работе веб-сервера.

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

Инструмент поддерживает графическое представление в виде гистограммы и круговой диаграммы, а также экспорт отчетов в HTML.

Все вместе эти инструменты позволяют упростить управление веб-сервером IIS.

Установка IIS для 1С Предприятия 8.3 в картинках на платформе WINDOWS 8.1

Windows 8.1 Профессиональная.

1С предприятие, версия 8.3.4.465.

База данных ЗУП 3.0.

Необходимо установить доступ к указанной базе ЗУП через интернет браузер или тонкий клиент.

Для простоты понимания все действия будут описываться из панели управления.

1. Установка IIS.

Открываем панель управления и настройку компонентов windows.

2. Публикация базы данных из 1С предприятия.

После установки IIS нужно запустить конфигуратор от имени локального администратора и опубликовать базу.

  • Конфигуратор сам сконфигурирует IIS.
  • Соглашаемся на перезапуск сервера IIS после публикации новой базы.

    3. Настройка прав безопасности NTFS для каталога программы.

    Настраиваем права на каталог программы (только для файловых баз).

    4. Настройка прав безопасности NTFS для каталогов баз данных.

    Настраиваем права на каталоги баз данных 1С (файловый вариант).

    5. Особенность настройки для 64 разрядной windows.

    Для 64 разрядной виндоуз нужно включить разрешения 32 разрядных приложений

    Панель управления – Администрирование – Управление компьютером – Службы и приложения – Диспетчер служб IIS

    – Пулы приложений – DefaultAppPool – Дополнительные параметры. Указываем значение: True

    6. Для большей безопасности можно порекомендовать сменить стандартный порт IIS.

    Панель управления – Администрирование – Управление компьютером – Службы и приложения – Диспетчер служб IIS

    – Сайты – Default Web Site – Изменить привязки — Изменить. В открывшемся диалоге меняем порт.

    7. Открываем порт в брандмауэре.

    Панель управления – Брандмауэр Windows – Дополнительные параметры.

    Создаем правило для входящих подключений, для выбранного порта.

    8. Организация работы через интернет.

    Для того, чтобы в базу можно было попасть из «открытого интернета», вы должны приобрести у провайдера «белый IP адрес». Образно говоря, это будет ваш цифровой идентификатор, по которому все компьютеры интернета будут узнавать вас. Если ваш веб-сервер будет с таким адресом, то больше ничего делать не нужно. Если интернет будет раздавать роутер, или другой компьютер с прокси-сервером (т.е. шлюз), то на этом шлюзе нужно открыть какой то из портов и перенаправить его на рабочий порт IIS на веб-сервера. В настройках шлюза вы должны указать входящий порт, и куда перенаправляется трафик — IP адрес и порт веб-сервера.

    9. Запуск браузера.

    В моем случае, строка запуска браузера будет выглядеть так:

    http – указание протокола.

    i7 – dns имя компьютера или ip адрес веб-сервера.

    180 – порт IIS (можно не указывать, если порт по умолчанию)

    hrm30 – каталог публикации (c:\inetpub\wwwroot\HRM30)

    Для тонкого клиента строка указывается в настройках подключения.

    Все, можно работать!

    В дальнейшем нужно не забывать обновлять публикацию после обновления платформы 1С предприятия.

    Комментарии к этой записи в блоге

    Наши предложения!

    Если вы не нашли у нас необходимые вам доработки, то мы можем предложить индивидуальное сотрудничество.

    Мы работаем исключительно посредством удаленного доступа.

    Связаться с нами можно через диалог обратной связи, ICQ, skype или по телефону.

    Iis настройка расширенного формата журнала w3c

    Работа с web-узлами.

    Рассмотрим более подробно различные административные задачи уровня узла, которые можно выполнять в IIS. Мы уже кратко рассматривали диалоговое окно основных свойств для службы WWW, и вы уже знаете, что в нем имеется десять вкладок, содержащих разнообразные настройки, которые можно конфигурировать. Девять из этих десяти вкладок применяются также и на уровне узла (для администрирования отдельных web-узлов); в данном разделе мы подробно изучим эти разнообразные вкладки и их настройки. В качестве примера в данной главе мы будем конфигурировать Веб-узел по умолчанию.

    Вкладка Веб-узел окна свойств узла позволяет задать идентификацию web-узла, сконфигурировать ограничение на максимальное количество одновременных соединений TCP, осуществляющих сеансы HTTP, включить или отключить сохранение соединений HTTP и включать на вашем сервере регистрацию IIS.

    Каждый web-узел, размещенный на компьютере IIS, должен иметь уникальную идентификацию, чтобы клиенты-браузеры могли соединяться с ним и скачивать с него содержимое. Web-узлы можно определять при помощи трех разных параметров: IP-адреса, номера порта TCP и имени заголовка хоста.
    Идентификация web-узла задается в странице окна свойств этого web-узла с вкладкой Веб-узел. Чтобы web-узлы на одном компьютере имели уникальные идентификации, они должны отличаться друг от друга хотя бы одним из трех параметров идентификации. Рассмотрим разные способы задания идентификации web-узла и обсудим, как можно иметь несколько разных web-узлов на одном сервере.

    Настройка нескольких IP-адресов для одной сетевой платы сервера

    Вы можете сконфигурировать несколько IP-адресов для одной сетевой платы сервера или установить несколько сетевых плат, чтобы у каждой платы был свой IP-адрес. Выберите разные IP-адреса для каждого из web-узлов. Не меняйте у этих сайтов настройку порта TCP (80 — это стандартная для протокола HTTP настройка порта TCP) и не конфигурируйте имена заголовка хоста. Достоинством этого способа является то, что клиентам удобно соединяться с каждым из сайтов при помощи IP-адреса сайта в запрашиваемом ими URL (или при помощи полностью квалифицированного DNS-имени, если на сервере DNS было сконфигурировано уникальное имя хоста для каждого из IP-адресов компьютера IIS).
    К недостаткам этого способа относится то, что если на компьютере содержать много web-узлов, то им придется назначать много IP-адресов. Это не проблема для приватных интрасетей, использующих один из блоков приватных IP-адресов, таких как 10.y.z.w, 172.16-31.z.z, 192.168.z.z. Но на серверах, непосредственно подключенных к Интернету, вам придется получать нужное количество IP-адресов у вашего провайдера. Тем не менее, данный способ задания идентификации web-узла является наиболее употребительным.

    Настройка только одного IP-адреса для сетевой платы

    Задайте разные порты TCP (с номерами, большими 1023) для каждого из web-узлов, с которыми надо соединяться. Главный недостаток этого способа — то, что клиенты должны знать номера портов web-узлов, с которыми им надо соединяться. Например, если DNS-имя сервера — Win2003s.test.fio.ru, а web-узлу на этом сервере присвоен номер порта 8023, то клиенту для доступа к этому сайту придется использовать URL http://Win2003s.test.fio.ru:8023.

    Настройка одного IP-адреса с сохранением стандартного порта TCP

    При этом способе конфигурируется только один IP-адрес для сетевой платы сервера, а порт TCP остается со стандартным значением (80) для всех сайтов. Сконфигурируйте уникальное имя заголовка хоста для каждого сайта при помощи кнопки Дополнительно. Имена заголовков хоста возможны в протоколе HTTP 1.1. Имя заголовка хоста, сопоставляемое каждому из узлов, является типичным полностью квалифицированным DNS-именем, присвоенным узлу в базе данных доступного сервера DNS (или в локальном файле Hosts на клиентах).

    Когда вы открываете окно свойств для Веб-узел по умолчанию и страницу с вкладкой Веб-сайт, то IP-адрес задан как Все неназначенные. Это означает, что web-узел будет отвечать на любой IP-адpec, не назначенный специально другим web-узлам изданном компьютере. Именно поэтому данный сайт является используемым по умолчанию и единственным web-узлом на компьютере IIS, для которого возможен такой способ задания IP-адреса.

    Когда клиент запрашивает URL вроде http://vio.fio.ru , клиент передает имя заголовка хоста vio.fio.ru в заголовки запроса HTTP, передаваемые серверу. Сервер производит синтаксический разбор имени заголовка хоста, идентифицирует web-узел, с которым должен соединиться клиент, и возвращает файлы, соответствующие запросу. Недостатком этого способа является то, что клиент тоже должен поддерживать имена заголовков хоста, то есть должен уметь передавать DNS сайта в своих заголовках запроса HTTP. Имена заголовков хостов поддерживаются браузерами Microsoft Internet Explorer версий, начиная от 3 и выше. Другим недостатком использования имен заголовков хостов является то, что данный способ не работает в сочетании с соединениями SSL, потому что в этом случае сеансы HTTP подвергаются шифрованию.

    Если вы работаете со старыми браузерами, не поддерживающими имена заголовков хоста, то можете реализовать механизм, основанный на cookie-файлах, позволяющий браузерам различать web-узлы, имеющие одинаковые IP-адреса и номера порта TCP. Дополнительную информацию об этом можно найти в онлайновой документации.

    При изменении номера порта для web-узла не требуется перезагрузка сервера, чтобы изменения вступили в силу.

    Страница с вкладкой Веб-узел позволяет конфигурировать для сеансов HTTP ограничение на максимальное количество действующих одновременно соединений TCP с сервером. Вы также можете включить или отключить настройку сохранения соединений (HTTP Keep-Alives) и задать значения предельного срока сохранения для соединений (connection timeout value). Настройка HTTP Keep-Alives является средством HTTP 1.1, при помощи которого клиент может сохранять открытым соединение TCP с сервером и после скачивания файла, если с этого сервера требуется скачать еще какие-либо другие файлы. Если же клиенты начнут страдать из-за замедления работы сервера или станут часто получать сообщение об ошибке «загруженности»

    HTTP 500: Busy errors

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

    Время ожидания, задаваемое на вкладке Веб-узел, применяется к активным сеансам TCP. В TCP имеются свои собственные настройки для завершения наполовину открытых соединений TCP, вроде тех, что создаются во время DoS-атак (Denial of Service, отказ в обслуживании), когда злоумышленники пытаются «завалить» web-сервер, переполнив его сетевое соединение пакетами TCP SYN.

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

    • Общий формат файла журнала NCSA. Создает файл в кодировке ASCII с разделителями-пробелами с предопределенным набором полей.
    • Ведение журнала ODBC. Фиксированный формат ведения журнала в базе данных.
    • Расширенный формат файла журнала W3C. Это настраиваемый формат журнала используется по умолчанию; создается ASCII-файл с разделителями-пробелами, причем набор полей определяется администратором.
    • Формат файла журнала Microsoft IIS. Создается файл фиксированного формата в кодировке ASCII.

    Новые регистрационные файлы IIS могут создаваться ежечасно, ежедневно, раз в неделю или раз в месяц, либо когда существующий регистрационный файл дорастает до некоторого заданного размера. По умолчанию файлы журнала хранятся в папке \%systemroot%\System32\LogFiles, но вы можете изменить эту настройку при помощи кнопки Обзор.

    Включение ведения журнала IIS в странице с вкладкой Веб-узел вовсе не означает, что будут регистрироваться посещения всех частей вашего сайта. Вы можете использовать флажок Запись в журнал на вкладке Домашний каталог диалогового окна web-узла, чтобы включить или отключить регистрацию доступа к содержимому, размещенному в домашнем каталоге узла. Посещения других каталогов и даже отдельных файлов вы можете отслеживать с помощью других вкладок.

    Вкладка Дополнительно позволяет настроить расширенные параметры журнала.

    Настройка производительности отдельных web-узлов выполняется на странице с вкладкой Быстродействие окна свойств сайта.

    В этой странице вы можете конфигурировать следующие настройки:

    • Ограничение пропускной способности. Вы можете включить и задать предел пропускной способности данного сайта в разделе Регулировка полосы пропускания. Это позволит установить приоритет доступа к определенным сайтам, расположенным на одном сервере.
    • Количество соединений с веб-сайтами. Вы можете ограничить общее количество одновременных подключений к веб-сайту. Для этого установите переключатель в положение не более и задайте значение, соответствующее количеству соединений.

    Вкладка Фильтры ISAPI.

    Фильтры ISAPI (Internet Server Application Programming Interface) являются дополнительными динамическими DLL-библиотеками, выполняющими специфические действия при обработке клиентских запросов HTTP службой IIS. При этой вкладки вы можете задать набор фильтров ISAPI и последовательность их обработки службой IIS. Фильтры, установленные на уровне web-узла, применяются только для выбранного web-узла. Фильтры, установленные на уровне сервера, применяются ко всем web-узлам сервера.

    Фильтры ISAPI осуществляют свои действия до того, как сервер фактически ответит на сам запрос HTTP. Вы можете, например, разработать фильтры ISAPI, выполняющие нестандартную аутентификацию, шифрование данных, запись информации о трафике в нестандартный регистрационный файл или для выполнения других задач.

    Вкладка Домашний каталог.

    На странице с вкладкой Домашний каталог можно указать местоположение содержимого, сопоставляемого домашнего каталога web-узла, чтобы задать полномочия доступа и другие настройки для каталога и web-приложений, реализованных в данном каталоге.

    Домашний каталог сайта задает местоположение содержимого, доступ к которому происходит при помощи URL вида

    где Имя_сайта является именем NetBIOS, IP-адресом или DNS-именем сайта, а Имя_файла — именем какой-либо страницы HTML, или файла с рисунком, или скрипта, или какого-нибудь другого файла из домашнего каталога сайта.

    Домашний каталог сайта можно задать с помощью переключателя Источник содержимого при подключении к ресурсу одним из следующих способов:

    • Как имя каталога, находящегося на локальном диске компьютера (положение Каталог данного компьютера).
    • Как UNC-путь к сетевому разделяемому ресурсу на файловом сервере (положение Общая папка другого компьютера).
    • Как перенаправление к URL, предлагающее клиенту, желающему получить доступ к содержимому, сопоставленному домашнему каталогу, соединиться с другим web-сервером, не обязательно сервером IIS (положение Постоянный адрес URL). Перенаправление может быть как временным, так и постоянным.

    Возможность перенаправлять доступ для домашнего каталога (или для любого виртуального каталога) к URL полезна, когда web-узел находится в процессе создания или когда он выключен из-за технического обслуживания или из-за обновления. IIS позволяет перенаправлять запрос к любому из файлов в домашнем каталоге к одному и тому же URL (например, к странице с объявлением «Идет техническое обслуживание. Сайт будет доступен через 15 минут») или к такому же файлу в сетевом каталоге (так можно перенаправлять клиентов к временному сайту-зеркалу). Можно также перенаправлять доступ к подкаталогу текущего домашнего каталога, если страница с объявлением о техобслуживании или зеркальное содержимое находятся на том же самом сервере.

    Постоянное перенаправление задавайте, только когда вы действительно планируете переместить содержимое сайта на другой сервер, т.к. некоторые браузеры, получив сообщение «Постоянное перенаправление»

    HTTP 301 Permanent Redirect

    могут действительно поменять ссылки в «Избранном» или в «Закладках». В результате, когда вы выключите перенаправление, клиенты все равно будут обращаться не к первоначальному, а к альтернативному сайту.

    Если вы зададите местоположение домашнего каталога как локального каталога или как сетевого разделяемого ресурса, то на странице с вкладкой Домашний каталог можно задать полномочия доступа и другие настройки для этого каталога.

    Если в качестве местоположения домашней страницы вы зададите перенаправление URL, то эти настройки будут недоступны. Возможны следующие настройки:

    • Доступ к тексту сценария. При установленном флажке пользователи могут получить доступ к исходному тексту скриптов (например, к ASP-файлам). Обратите внимание, что если вы не включите настройку Чтение или Запись, то данная настройка не будет иметь никакого действия. (При включении настройки Чтение пользователи смогут читать исходные тексты скриптов, а при включении настройки Запись — изменять скрипты.) Настройка Доступ к тексту сценария включается обычно при проектировании серверов, в которых создается содержимое. По умолчанию она выключена.
    • Чтение. Если установить этот флажок, пользователи смогут видеть содержимое каталога или файла и его свойства, такие как время создания и размер файла. По умолчанию настройка включена.
    • Запись. Если установить этот флажок, пользователи смогут изменять содержимое каталога или файла. Запись на сервер могут производить лишь те браузеры, которые поддерживают команду PUT (Поместить) протокола HTTP 1.1 (к ним относится Internet Explorer начиная с версии 4). По умолчанию настройка выключена.
    • Обзор каталогов. Если установить этот флажок, пользователи смогут видеть содержимое домашнего каталога в случаях, когда в ней нет принятой по умолчанию домашней страницы. Обычно эту настройку следует выключать (по умолчанию она выключена), чтобы скрыть структуру каталогов с содержимым от случайного просмотра пользователями, желающими войти туда, куда вы их пускать не желаете.
    • Запись в журнал. Если установить этот флажок, то, при каждом доступе клиента к любому из файлов в домашнем каталоге, в регистрационный файл будет добавляться запись. Заметьте, что, прежде чем эта настройка начнет работать, нужно установить флажок Вести журнал на странице с вкладкой Веб-узел. По умолчанию регистрация посещений домашнего каталога включена.
    • Индексация каталога. При установленном флажке Служба индексирования добавляет содержимое домашнего каталога к главному индексу. По умолчанию Служба индексирования устанавливается во время установки Windows Server 2003.

    Хотя полномочие Чтение и устанавливается для Веб-узла по умолчанию, но возможность доступа к содержимому конкретного web-узла зависит от множества условий.

    Если в качестве местоположения домашнего каталога указать локальный каталог или сетевой разделяемый ресурс, то на вкладке Домашний каталог можно задать настройки любого приложения, реализованного в данном каталоге.

    В качестве примера web-приложения можно привести набор ASP, работающих совместно и предоставляющих алгоритмические возможности для посетителей сайта. Настройки, которые вы можете pзадавать в области Параметры приложения:

    • Поле ввода Имя приложения. В поле задается уникальное имя приложения.
    • Исходная папка. Приложение может состоять из дерева каталогов и их содержимого. Вершина этого дерева и есть начальная точка приложения.
    • Разрешен запуск. При помощи этой настройки вы можете задать типы приложений, которые можно запускать в домашнем каталоге. Можно выбрать Ничего, Только сценарии или Сценарии и исполняемые файлы.
    • Группа приложений. Эта настройка позволяет вам выбрать группу приложений, связанных с данной домашней папкой.
    • Кнопка Настройка. Если нажать на эту кнопку, то откроется диалоговое окно Настройка приложения, в котором можно сконфигурировать опции для сопоставления приложения интерпретирующим его машинам скриптов или программам, для копирования приложений ISAPI (с целью повышения производительности); для задания сроков сеансов; для задания используемого по умолчанию языка скриптов ASP, для настроек отладки.

    Если вы зададите для каталога полномочие доступа Запись вместе с настройкой сценарии и исполняемые файлы, то возникнет угроза безопасности: пользователь, которому вы не доверяете, может получить возможность загрузить на сервер враждебную программу в исполняемом файле и произвести повреждения.

    На вкладке Документы окна свойств web-узла можно задать возможные имена файлов для стандартных документов домашнего каталога и порядок доступа к ним для браузера.

    По умолчанию задаются четыре файла в следующем порядке: Default.htm, Default.asp, index.htm и iisstart.htm. Например, если браузер пытается соединиться с Веб-узлом по умолчанию на сервере Win2003s.test.fio.ru при помощи URL http://Win2003s.test.fio.ru, то сервер сначала проверит, имеется ли в домашнем каталоге файл Default.htm. Если там есть такой файл, то он будет возвращен клиенту. Если такого файла нет, то сервер будет искать файл Default.asp. Этот процесс будет продолжаться до тех пор, пока не найдется файл или пока не закончится список документов, используемых по умолчанию. Вы можете задать дополнительные стандартные документы (например, Index.html) или убрать документы, уже имеющиеся в списке. Можно и вовсе отменить обращения к стандартным документам, в этом случае клиенты должны знать и указывать фактическое имя файла, к которому они хотят получить доступ на сервере, задавая, например, такие URL: http://Win2003s.test.fio.ru/NoDefault.htm.

    Илон Маск рекомендует:  Лекции по конструированию компиляторов глава 9 системы автоматизации построения трансляторов

    При помощи этой вкладки можно также задать имя файла нижнего колонтитула (написанного в формате HTML); нижний колонтитул должен добавляться в нижнюю часть каждого из файлов, доставляемых с сайта к клиенту. Колонтитулы позволяют дополнить нижнюю часть каждой страницы заявлением об авторских правах либо заявлением об отказе от авторских прав. Если для создания содержимого применяется FrontPage, то вы можете создавать сложные нижние колонтитулы для отображения такой информации, как дата последнего изменения файла, счетчик популярности и т. д.

    Настройка веб-публикации 1С, подключение кассового оборудования

    1. Настройка веб-сервера в IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP
      • ASP.NET 3.5
      • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    2. Публикации базы в 1С

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты), обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

    2.1 Настройка прав доступа для IIS

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по-умолчанию: C:\inetpub\wwwroot\), необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Полный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по-умолчанию: C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того, чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names), необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

    И, наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS полные права на каталог с расположенными файлами данной информационной базы.

    2.2 Публикация базы данных на веб-сервере

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

    Откроется окно настройки свойств публикации на веб-сервере. Основные поля, необходимые для публикации, уже заполнены по-умолчанию:

    • Имя виртуального каталога — имя, по которому будет происходить обращение к базе данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб-сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов, которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации, нажимаем «Опубликовать».

    Если публикация прошла без ошибок, увидим соответствующее сообщение.

    2.3 Подключение к опубликованной информационной базе через веб-браузер

    Для подключений к опубликованной базе данных запускаем Internet Explorer, в строке адреса вводим путь вида http://localhost/ . В данном примере это http://http://localhost/BP.

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80 — по внешнему) IP-адресу.

    3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS

    Наличие SSL-сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных.

    Let’s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation) со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего обеспечивается непрерывность защиты.

    Далее описан способ получить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты LetsEncrypt-Win-Simple. Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS и автоматически выпустить и привязать к нему SSL-сертификат.

    3.1 Создание SSL-сертификата

    Скачиваем последний релиз клиента со страницы проекта на GitHub https://github.com/PKISharp/win-acme/releases

    Распакуем его в каталог на сервере с IIS: c:\inetpub\letsencrypt

    Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.

    Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.

    Далее утилита выведет список запущенных на IIS сайтов и предложит выбрать сайт, для которого нужно выпустить сертификат.

    Следующий этап – выполнение валидации домена. Доступно несколько вариантов валидации: TLS, через запись в DNS или через HTTP). Самый простой вариант — выбрать пункт 4 [http-01] Create temporary application in IIS (recommended). В этом случае на веб-сервере будет создано небольшое приложение, через которое серверы Let’s Encrypt смогут провести валидацию.

    Примечание. При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).

    После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:\Users\User\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым. Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.

    3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.

    Создаем отдельный пул в IIS для letsencrypt

    Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).

    Указать новый сертификат в «Сертификаты SSL»:

    Возможности журналирования и анализа логов в IIS 8.5

    В новой версии Internet Information Services 8.5, представленной в качестве роли веб сервера в Microsoft Windows Server 2012 R2, появилась новая возможность логирования. IIS теперь может писать HTTP-логи в особый журнал трассировки через службу трассировки событий Windows (Event Tracing for Windows — ETW). Благодаря механизму Event Tracing for Windows в IIS 8.5 появилась возможность отслеживать события на веб сервере в реальном времени, что крайне полезно при отладке веб-приложений и поиске неисправностей.

    В предыдущих версиях IIS логи веб-сервера записывались в отдельные лог-файлы. Основной недостаток данного механизма – кэширования логов в оперативной памяти. Логи из кэша записываются (сбрасываются) на диск каждую минуты или по достижению объема 64Кб. Это значительно усложняло онлайн-траблшутинг в IIS, т.к. высока вероятность того, что событие, появление которого вы ожидаете, произошло, но информация о нем пока просто не записалась в лог файл, и, соответственно, вы его не сразу не увидите.

    В этой статье мы покажем, как в IIS 8.5 задействовать службу трассировки событий Windows (ETW) и как проанализировать полученные логи с помощью Microsoft Message Analyzer.

    По умолчанию IIS 8.5 записывает логи в обычные тестовые файлы. Чтобы включить логирование через ETW, нужно в панели управления IIS (Internet Information Services Manager), выбрать имя сервера и в правой панели щелкнуть по значку Logging.

    В окне настройки параметров журналирования в разделе Log Event Destination выберете метод ведения журнала, переключившись со стандартного Log file only на ETW event only. Обратите внимание, что можно включить ETW и стандартное журналирование IIS одновременно (Both log file and ETW event). Сохраним изменения. Сразу после этого логи веб сервера IIS начнут писаться через службу трассировки событий Windows.

    Для просмотра и анализа логов IIS в журналах ETW воспользуемся бесплатным инструментом Microsoft Message Analyzer, который можно скачать с сайта Microsoft по этой ссылке: _http://www.microsoft.com/en-us/download/details.aspx? >

    Во время первого запуска Microsoft Message Analyzer спросит, хотите ли вы обновить элементы на стартовом экране. Выберите желаемое действие.

    В открывшемся окне Message Analyzer настроим доступ к логам IIS ETW. Для этого щелкните по ссылке Capture/Trace в левой колонке и укажите имя трассировки.

    В разделе Trace Scenario Configuration в поле Add Provider введите IIS и из появившегося выпадающего списка выберите Microsoft-Windows-IIS-Logging.

    После того, как мы подключились к нужному провайдеру ETW, можно начать просмотр ( и сбор) событий, нажав кнопку Start With.

    Собранные данные будут отображены в виде таблицы (если эта опция была указана при запуске).

    Чтобы уменьшить количество отображаемой информации, можно применять различные фильтры. Допустим, нам нужно вывести данные, касающиеся только определенного сайта IIS.

    Для этого в расширенном описании нужного события щелкнем по полю S_sitename и выберем Add Ssitename To Filter (добавить имя сайта в фильтр).

    В окне фильтров появится сгенерированный текст кода фильтра. Если нажать кнопку Apply Filter, в окне журнала останутся только данные, которые относятся к указанному нами сайту.

    Аналогичным образом можно добавить фильтр, например, позволяющий оставить в журнале только события с ответом сервера 404 (поле Sc_status).

    Итак, в этом небольшом обзоре мы разобрались с новыми возможностями анализа и поиска неисправностей на веб сервере IIS, с помощью журналирования событий веб-сервера через систему ETW. Также мы показали как можно анализировать полученных данных с помощью Microsoft Message Analyzer.

    Публикация баз «1С:Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012

    В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» ( 8.1 и 8.2 ) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного , так и для 64-разрядного модуля расширения веб-сервера.

    0. Оглавление

    1. Что понадобится
    2. Установка веб-сервера IIS
    3. Установка компонент «1С:Предприятие»
    4. Настройка операционной системы
    5. Публикация базы данных на веб-сервере
    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
    8. Подключение к опубликованной информационной базе через веб-браузер
    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
    10. Конфигурационные файлы виртуального каталога
      1. Файл default.vrd
      2. Файл web.config

    1. Что понадобится

    1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
      • Microsoft Windows Server 2012 (R2)
      • Microsoft Windows Server 2008 (R2)
    2. Права локального администратора на данном компьютере.
    3. Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.

    2. Установка веб-сервера IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP
      • ASP.NET 3.5
      • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    Подробно про процесс развертывания веб-сервера IIS я писал:

    • В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:
    • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

    3. Установка компонент «1С:Предприятие»

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

    4. Настройка операционной системы

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:inetpubwwwroot ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

    Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.

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

    5. Публикация базы данных на веб-сервере

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

    Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:

    • Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации нажимаем «Опубликовать».

    Если публикация прошла без ошибок, увидим соответствующее сообщение.

    Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже

    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).

    В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).

    В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».

    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

    Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию —Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.

    В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

    Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

    8. Подключение к опубликованной информационной базе через веб-браузер

    Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/ . В данном примере это http://localhost/DemoAccounting/.

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.

    В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.

    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

    К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.

    В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».

    Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».

    Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».

    Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.

    После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.

    10. Конфигурационные файлы виртуального каталога

    Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).

    Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

    • default.vrd
    • web.config

    Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

    10.1. Файл default.vrd

    В файле default.vrd описываются опубликованные Web-сервисы (элемент ), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:

    Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.

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

    Для серверной информационной базы строка подключения будет иметь вид:

    Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.

    Илон Маск рекомендует:  Обмен ссылками

    Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.

    10.2. Файл web.config

    Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

    Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).

    В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).

    При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.

    Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).

    Основы архитектуры IIS, или запросопровод для ASP.NET

    В прошлом году мне пришлось отсобеседовать около 10-15 кандидатов на должность веб-программиста на ASP.NET средней квалификации. В качестве вопросов «на засыпку», или «со звёздочкой», я просил рассказать, что происходит с HTTP-запросом от момента его поступления на 80-й порт сервера до передачи управления коду aspx-страницы. Статистика была удручающей: ни один из кандидатов не смог выдать хоть что-нибудь внятное. И этому есть своё объяснение: ни в MSDN с technet, ни на специализированном ресурсе iis.net, ни в книгах a-la «ASP.NET для профессионалов», ни в блогах данной теме не уделяется должного внимания – информацию приходится собирать чуть ли не по крупицам. Я даже знаю людей, которые решили написать свой собственный веб-сервер (Игорь, Георгий, привет!), чтобы не разбираться в работе IIS. Единственная толковая статья – «Introduction to IIS Architectures» Риган Темплин (Reagan Templin). Но и она остаётся на периферии интересов аспнетчиков.

    Хотя мне лично уже не так интересны чисто технические вопросы, я решил собрать в кучу свой накопленный опыт, раскопать на просторах Сети любопытные детали и передать сие сакральное знание массам, пока оно ещё не устарело. Сразу оговорюсь, что статья ориентирована в большей степени на IIS 7.x, иногда будут ответвления про 6-ку. С 8-й версией в работе не сталкивался, поэтому решил обойти её в этой статье стороной. Но, уверен, читатель без труда разберётся с восьмёркой, освоив изложенный ниже материал.

    1. Общий план
    2. Крупный план
    2.1. HTTP.SYS
    2.2. World Wide Web Publishing Service (W3SVC)
    2.3. Windows Process Activation Service (WAS)
    2.4. Пул приложений
    2.5. Домен приложения, приложение
    3. Что дальше?
    Источники

    1. Общий план

    Итак, начнём с конца, а потом рассмотрим отдельные аспекты чуть более пристально.
    В англоязычной литературе процесс обработки запроса в IIS называется «request processing pipeline» — что-то вроде «конвейера обработки запроса». В общих чертах он представлен на рисунке ниже для http-запроса.

    Рис. 1. HTTP request processing pipeline (IIS 7.x).

    Таким образом, http-запрос проходит по «сборочной ленте конвейера» через следующее:

    1. Браузер обращается к веб-серверу по определённому URL, на стороне сервера запрос перехватывает драйвер HTTP.SYS.
    2. HTTP.SYS стучится к WAS для получения информации из хранилища конфигурации.
    3. Служба WAS запрашивает конфигурацию из хранилища — из файла в папке IIS (applicationHost.config).
    4. Поскольку данный запрос получен по протоколу HTTP конфигурационную информацию получает служба W3SVC (она же WWW Service на картинке), эта информация содержит в себе данные о пуле приложений (application pool) и прочих параметрах сайта.
    5. Служба W3SVC использует эту информацию для кофигурации HTTP.SYS.
    6. Служба WAS запускает процесс W3WP.exe для пула приложений, если он ещё не был запущен.
    7. В процессе W3WP.exe работает приложение веб-сайта, которое, собственно, формирует и возвращает ответ драйверу HTTP.SYS.
    8. HTTP.SYS отправляет ответ браузеру.

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

    2. Крупный план

    2.1. HTTP.SYS

    На транспортном уровне IIS использует прослушивателей протоколов (protocol listeners), которые располагаются поверх стека TCP/IP. Наиболее интересный нам такой компонент – это системный драйвер HTTP.sys, который встроен в ядро ОС и работает с протоколами HTTP и HTTPS, регистрирующийся самостоятельно на прослушку всех портов, на которые будут приходить запросы к сайтам в IIS.

    Встроенный в ядро HTTP.sys стал нововведением в IIS 6, заместив собой Windows Socket API – компонент перехвата HTTP- и HTTPS-запросов на пользовательском уровне в IIS более ранних версий. Вероятно, интеграция драйвера в ядро является той самой причиной, по которой версия IIS жёстко привязана к версии Windows.

    Драйвер принимает все входящие запросы и перенаправляет их в нужный пул приложений. Если по какой-то причине рабочий процесс, в коем хостится требуемый пул, остановлен (сбой, таймаут простоя, смена конфигурации и т.п.) или ещё запускается, то HTTP.sys сохраняет входящие запросы в специально отведённой для каждого пула очереди. Таким образом, запросы пользователей никуда не пропадают, и они вообще не замечают каких-то перебоев в работе сайтов под управлением IIS.

    Ещё HTTP.sys умеет кешировать ответы (более подробно — Instances in which HTTP.sys does not cache content), поэтому некоторые запросы обрабатываются без передачи на уровень приложения, а также проводит первичный разбор URI запроса и его валидацию в соответствии с RFC 2396 (кое-что можно почерпнуть отсюда — Use of special characters like ‘%’ ‘.’ and ‘:’ in an IIS URL) и журналирование запросов/ответов.

    Некоторые настройки HTTP.sys вынесены в системный реестр Windows (более подробно — Http.sys registry settings for Windows). Кстати, там же – в реестре – можно подсмотреть обычное место прописки нашего гражданина: %SystemRoot%\system32\drivers\http.sys.

    Признаться, в процессе написания данной статьи я сам открыл для себя некоторые детали. Например, кэширование ответов на уровне драйвера HTTP.sys. Это помогло мне объяснить один случай странного, как мне тогда казалось, феномена в поведении IIS. Маркетологи выложили на сайт swf-открытку перед очередным праздником, но потом им что-то не понравилось в названии файла и они его переименовали. Однако сайт продолжал выдавать открытку по старому URL и даже очистка браузерного кэша не помогала. Тут уже подключился я, но ни перезапуск веб-сайта и всего пула приложений, ни обращение к сайту в обход корпоративного прокси-сервера не дали ожидаемого результата. Но теперь-то мы знаем, кто виноват.

    2.2. World Wide Web Publishing Service (W3SVC)

    Данная служба (сокращённо именуемя в спецификациях WWW service) была представлена в IIS 6 в качестве отдельного компонента для работы с протоколами HTTP/HTTPS и управления рабочими процессами приложений и выполняла следующие функции:

    • Администрирование драйвера HTTP.sys.
    • Управление рабочими процессами.
    • Мониторинг показателей производительности веб-сайтов.

    Эта служба функционирует в Windows Server 2003 в контексте процесса Svchost.exe (настройки можно посмотреть в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3Svc) в отличие от всех остальных служб IIS, которые исполняются в контексте процесса Inetinfo.exe, и реализована в Iisw3adm.dll.

    В IIS 7.x функция управления процессами была вынесена в отдельную службу – WAS (см. п.2.3) в целях универсализации архитектуры. Теперь WWW-служба стала по своей сути одним из адаптеров, специализируясь на протоколах HTTP/HTTPS – работа поверх драйвера HTTP.sys. Однако WWW-служба остаётся краеугольным компонентом IIS, поэтому её настройка отличается от настройки адаптеров к другим протоколам (чуть подобнее здесь); она функционирует в том же рабочем процессе, что и WAS, и реализована в той же самой библиотеке (рис. 2).

    Рис.2. Рабочий процесс со службами W3SVC и WAS.

    Раз уж зашла речь об адаптерах к прослушивателям протоколов (protocol listener adpater), то давайте чуть задержимся и посмотрим, какие они бывают. В принципе IIS 7.x можно настроить для обработки запросов по любым протоколам помимо типовых HTTP и FTP, например, POP3, SMTP, Gopher. Вы даже вольны придумать свой протокол для своей веб- или WCF-службы и реализовать для него все нужные компоненты, если не жалко своего времени. Скорее всего, адаптеры и прослушиватели для наиболее распространённых протоколов доступны для свободного и коммерческого скачивания – этого я не проверял. Но прежде всего стоить обратить внимание на стандартные службы (рис. 3), поставляемые с .NET Framework и интегрированные с IIS:

    • NetTcpActivator для протокола TCP;
    • NetPipeActivator для Named Pipes;
    • NetMsmqActivator для Message Queuing (ака MSMQ).

    Рис. 3. Перечень стандартных не-HTTP-адаптеров в оснастке Служб Windows.

    Но всё-таки наиболее важным для нас адаптером является именно WWW-служба, т.ч. остановимся чуть подробнее на двух оставшихся от IIS 6 функциях.

    Администрирование и конфигурирование HTTP(S). В момент обновления конфигурации веб-сайтов, служба WAS передаёт эту информацию WWW-службе, а та уже, в свою очередь, настраивает HTTP.sys на прослушку конкретных портов, разбор IP и заголовка запрашиваемого сайта и, возможно, других параметров драйвера. В обратную сторону W3SVC обращается к WAS, когда в очередь запросов в HTTP.sys поступает новый, – для получения рабочего процесса-обработчика данного запроса.

    Отслеживание показателей производительности. WWW-служба ведёт счётчики производительности, используя для этого драйвер HTTP.sys, и предоставляет их показатели веб-сайтами и кэшу IIS. Более подробной информации по этому вопросу мне найти не удалось.

    2.3. Windows Process Activation Service (WAS)

    Итак, WWW-служба в IIS 7.x, как и в IIS 6, продолжает выполнять задачи по администрированию HTTP.sys и управлению показателями производительности веб-сайтов. А вот задача управления рабочими процессами вынесена в отдельную службу – WAS. Она запускается системой в единственном экземпляре, считывает конфигурацию из файла %SystemRoot%\System32\inetsrv\Config\ApplicationHost.config и настраивает через соответствующие адаптеры прослушивателей протоколов в соответствии с указанной в нём информации. Напомним, что для протоколов HTTP/HTTPS адаптером является служба W3SVC, а прослушивателем – драйвер HTTP.sys. При перехвате прослушивателем запроса он через свой адаптер обращается к службе WAS для получения рабочего процесса приложения, которому будет передан запрос для обработки и формирования ответа клиенту.

    При активации нужного для обработки пользовательского запроса приложения задействуются следующие компоненты:

    • Адаптеры прослушивателей (Listener adapters) – специальные службы Windows, работающие с конкретным протоколом и взаимодействующие с WAS для направления запросов к правильному рабочему процессу.
    • Собственно WAS. Она ответственна за создание рабочих процессов и управление их временем жизни.
    • Исполняемый файл w3wp.exe – шаблон рабочего процесса.
    • Менеджер приложений управляет созданием и утилизацией доменов приложений (application domains), которые хостятся внутри рабочего процесса.
    • Обработчики протоколов – протоколозависимые компоненты внутри рабочего процесса, ответственные за обмен данными между конкретным адаптером и рабочим процессом. Есть 2 типа обработчиков протоколов: у процесса (process protocol handler — PPH) и у домена приложения (AppDomain protocol handlers — ADPH).

    Ниже на рисунке представлен пример схемы компонентов внутри некоего экземпляра рабочего процесса приложения. Когда служба WAS запускает рабочий процесс, она загружает в него согласно конфигурации приложения требуемые обработчики протоколов процессов (PPH) и посредством менеджера приложений создаёт внутри рабочего процесса домен приложения, в котором будет хоститься приложение. Менеджер приложений загружает код приложения в домен приложения и требуемые обработчики протоколов уровня приложения (ADPH) для обработки сообщений по соответствующим сетевым протоколам.

    Рис. 4. Компоненты w3wp.exe для взаимодействия с внешними компонентами.

    Как отмечалось выше, .NET Framework несёт в себе реализацию компонент для протоколов HTTP/HTTPS (наш любимый ASP.NET), net.tcp, net.pipe и MSMQ. Стеки протоколов HTTP/HTTPS и FTP всё-таки более тесно интегрированы в IIS и ОС, поэтому настройку для нового протокола лучше продемонстрировать на примере менее популярных дотнетовских протоколов. Итак, после установки фреймворка в файле конфигурации IIS ApplicationHost.config появляется записи:

    А соответствующие компоненты PPH и ADPH настраиваются в дотнетовском machine.config:

    В конфигурационном файле веб-сервера ApplicationHost.config вместе с настройками приложений хранятся связки (bindings), определяющие параметры входящих запросов, которые будут направляться данному приложению. Такими параметрами являются название сетевого протокола, IP-адрес сервера, доменное имя и порт сайта. Эти параметры должны быть уникальными среди работающих приложений для однозначной идентификации целевого приложения. Служба WAS отслеживает это ограничение и не даст вам запустить сайт, у которого это условие не соблюдено, либо предложит остановить сайт с такой же связкой.

    Обратите внимание, что в стандартном режиме эксплуатации IIS служба WAS, служба-адаптер для каждого прослушивателя протокола (в т.ч. W3SVC) и сами драйверы/прослушиватели каждого из протоколов (в т.ч. HTTP.sys) запущены в ОС в единственном экземпляре. Но отдельные запросы могут направляться разным приложениям в разных рабочих процессах. С другой стороны, отдельно взятому приложению могут направляться запросы по разным протоколам через соответствующие адаптеры. Видимо, для корректной реализации такого поведения и была придумана архитектурная связка драйвер протокола – адаптер драйвера протокола – служба активации (своеобразный регулировщик, точнее — маршрутизатор) – рабочий процесс.

    2.4. Пул приложений

    При конфигурации веб-приложения помимо привязок (binding) к параметрам запросов и прочих настроек указывается принадлежность к пулу приложений. Пул приложений стал нововведением в IIS 6 и был призван обеспечить изоляцию веб-приложений друг от друго и тем самым повысить стабильность работы веб-сервера в целом. Суть заключается в том, что код приложения выполняется внутри специального процесса Windows – w3wp.exe. Поэтому исключение внутри веб-приложения приведёт к краху только этого процесса и никак не повлияет на доступность веб-приложений в других пулах и работу служб IIS. Более того, служба WAS попытается заново запустить упавший сайт, и внешние клиенты могут даже не заметить проблем в работе сервера.

    Для управления некоторыми параметрами отдельно взятого рабочего процесса w3wp.exe в IIS используется пул приложений. Наиболее часто используемыми из них являются учётная запись, под которой будет запущен процесс, ограничения для очереди запросов, различные таймеры и счетчики для автоматического перезапуска процесса, архитектура x86/x64 (в IIS 7.x) и некоторые другие (рис. 5), о чём любопытный читатель может с лёгкостью прочесть в MSDN и любимом поисковике. Т.о. можно говорить (с определёнными оговорками, см. тж. последний абзац в 2.5) о тождественности процесса w3wp.exe и пула приложений.

    Рис. 5 Дополнительные настройки пула приложений

    Ключевым нововведением в концепции пулов приложений в IIS 7.x стал новый параметр – модель управления контейнером, который может принимать 2 значения: классическая (Classic mode) и встраиваемая модель (Integrated mode).
    Чтобы объяснить разницу между этими режимами работы, потребуется знакомство с понятием «модуль» (Module) в IIS 6/7.x и событийной моделью обработки запросов в связке IIS + ASP.NET. Тема эта достойна отдельной статьи, но меня на неё уже, увы, не хватит, судя по всему. Здесь же представлю вашему вниманию лишь общие, ключевые моменты.

    Итак, IIS при обработке запроса пропускает его внутри рабочего процесса через последовательность специальных компонент – модулей. Например фильтрация, перенаправление, кэширование, аутентификация, авторизация. Каждый такой модуль ассоциируется с определённым событием, а их последовательность составляют событийную модель обработки запросов. Модули делятся на нативные (Native) и управляемые (Managed). Нативные модули поставляются вместе с IIS, а управляемые – в составе .NET Framework (ASP.NET). В общем-то, вы можете управлять ими в определённой степени на уровне конфигурации веб-приложения, но взаимодействовать из кода своего ASP.NET-сайта вы можете только с управляемыми модулями.

    Рис. 6. Идеология модулей в IIS.

    Классическая модель управления контейнером обеспечивает обратную совместимость с режимом изоляции рабочих процессов в IIS 6 – запросы к ASP.NET-сайту сначала проходят через нативные модули, а затем передаются в Aspnet_isapi.dll для обработки модулями в управляемой среде. Такое разделение между IIS и ASP.NET приводит к дублированию некоторых функций, например, аутентификации и авторизации. И вы не имеете возможности управлять программно поведением нативных модулей (пример хоть и не самый животрепещущий, но всё же – раздел «Убираем заголовок Server» в этой статье).

    Встраиваемая модель предполагает более тесное взаимодействие между IIS и ASP.NET. Запрос в такой архитектуре обработки пропускается через установленную последовательность событий, в каждом из которых запрос пропускается через нативный и управляемые модули. В таком режиме модели обработки запросов IIS и ASP.NET объединены в единую модель, что позволяет избежать дублирования функций и получить больший контроль над обработкой запроса.

    На практике самое важное, что необходимо учитывать при разработке и развёртывании веб-приложений, – это частичная несовместимость этих двух режимов. Т.е. при переводе сайта (точнее пула приложений, в котором работает сайт) из классической модели во встраиваемую практически всегда потребуется корректировка кода (хоть, возможно, и не значительная), а также тщательное тестирование.

    2.5. Домен приложения, приложение

    Непосредственными контейнерами веб-приложения являются приложение и домен приложения (Application Domain, AppDomain). Зачастую эти два понятия отождествляются, но всё-таки это немного разные вещи. Приложение – это понятие IIS, а домен приложения – из ASP.NET. Причём в общем случае в приложении может быть несколько доменов. Приложением вы можете управлять из консоли IIS, а доменом приложения – в основном программно. Так, например, перезапускается приложение из консоли. А когда мы пересохраняем web.config, то перезагружается именно домен приложения, не трогая IIS-приложение.

    Более важным с практической точки зрения является то, что приложение/домен приложения является sandbox-ом для кода вашего ASP.NET-сайта (не с такой надёжной изоляцией, как в случае с пулом, но всё же). Приведу один из моих любимых вопросов, которые я задавал соискателям на собеседованиях. Пусть имеются веб-сайт-1 и веб-сайт-2, а также некая библиотека MyLib.dll, в которой определён класс My >
    Рис. 7. Рисунок для задачки.

    Ещё один важный момент, который хотелось бы здесь отметить. По умолчанию каждый отдельный рабочий процесс может использовать все имеющиеся на сервере процессоры/ядра, а пул приложений работает на одном рабочем процессе и, следовательно, веб-приложение работает внутри одного IIS-приложения. Тем не менее, вы можете настроить web garden, увеличив кол-во рабочих процессов на пул и, следовательно, число IIS-приложений на одно веб-приложение. Вы без труда сможете найти на просторах интернета информацию о web garden, поэтому опускаю здесь подробности. Единственное, хотелось бы предупредить, что данное средство не является инструментом увеличения производительности, т.к. по умолчанию и так используются все вычислительные мощности сервера. Наоборот, на синхронизацию работы 2+ рабочих процессов уходил «лишнее» время CPU. Делается это в основном для увеличения доступности веб-приложения. Нельзя здесь также не упомянуть о веб-ферме (web farm), как о простейшем средстве балансировки нагрузки в IIS – об этом тоже достаточно статей в Сети. Это другой пример распределённого веб-приложения. Впрочем, с тем же nginx встроенная балансировка нагрузки в IIS конкуренции не выдерживает, и в реальных высоконагрузочных системах вам придётся изобретать свой велосипед или задействовать продукты сторонних производителей.

    3. Что дальше?

    Дальше нужно разбираться в работе модулей (в терминах IIS) и событийной модели, в которых уже происходит собственно обработка запроса, о чем упоминалось в разделе 2.4. Вообще говоря, эта тема заслуживает отдельной статьи, на которую, боюсь, меня уже не хватит. Но без этого нельзя сказать, что мы рассмотрели весь конвейер обработки запросов. Поэтому кратко пройдёмся здесь по основным моментам, которые любопытствующий читатель может проработать самостоятельно.

    Как отмечалось выше в разделе 2.4 модули IIS содержатся внутри рабочего процесса. Через них последовательно пропускается запрос (в отличие от HttpHandler-ов). Их набор и порядок определяется конфигурацией сервера и/или конкретного веб-приложения. Модули предназначены для отдельных, узконаправленных задач, таких как авторизация, кэширование, кастомное логгирование, сжатие, возврат статического контента и, конечно же, формирование HTML-страниц по заданному URL.

    Публикация баз данных «1С:Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2008/2012

    В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного, так и для 64-разрядного модуля расширения веб-сервера.

    0. Оглавление

    1. Что понадобится

    1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
      • Microsoft Windows Server 2012 (R2)
      • Microsoft Windows Server 2008 (R2)
    2. Права локального администратора на данном компьютере.
    3. Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.

    2. Установка веб-сервера IIS

    Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

    • Общие функции HTTP (Common HTTP Features)
      • Статическое содержимое (Static Content)
      • Документ по умолчанию (Default Document)
      • Обзор каталогов (Directory Browsing)
      • Ошибки HTTP (HTTP Errors)
    • Разработка приложений (Application Development)
      • ASP
      • ASP.NET 3.5
      • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
      • Расширения ISAPI (ISAPI Extensions)
      • Фильтры ISAPI (ISAPI Filters)
    • Исправление и диагностика (Health and Diagnostics)
      • Ведение журнала HTTP (HTTP Logging)
      • Монитор запросов (Request Monitor)
    • Средства управления (Management Tools)
      • Консоль управления IIS (IIS Management Console)

    Подробно про процесс развертывания веб-сервера IIS я писал:

    • В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:
    • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

    3. Установка компонент «1С:Предприятие»

    На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:

    • 1С:Предприятие
    • Модули расширения веб-сервера

    Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

    • Модуль расширения веб-сервера

    4. Настройка операционной системы

    Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:\inetpub\wwwroot\ ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

    В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

    Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

    Илон Маск рекомендует:  Что такое код openssl_x509_check_private_key

    Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

    Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.

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

    5. Публикация базы данных на веб-сервере

    Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

    Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:

    • Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
    • Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
    • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
    • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
    • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

    Выбрав необходимые настройки публикации нажимаем «Опубликовать».

    Если публикация прошла без ошибок, увидим соответствующее сообщение.

    Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже

    6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).

    В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).

    В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».

    7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

    Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

    Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

    Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.

    В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

    Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:\Program Files (x86)\1cv8\8.3.4.389\bin\wsisapi.dll» на «C:\Program Files\1cv8\8.3.4.389\bin\wsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

    8. Подключение к опубликованной информационной базе через веб-браузер

    Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/ . В данном примере это http://localhost/DemoAccounting/.

    К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.

    В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.

    9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

    К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.

    В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».

    Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».

    Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».

    Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.

    После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.

    10. Конфигурационные файлы виртуального каталога

    Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).

    Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

    • default.vrd
    • web.config

    Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

    10.1. Файл default.vrd

    В файле default.vrd описываются опубликованные Web-сервисы (элемент ), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:

    Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.

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

    Для серверной информационной базы строка подключения будет иметь вид:

    Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.

    Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.

    10.2. Файл web.config

    Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

    Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).

    В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).

    При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.

    Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).

    Смотрите также:

    Веб-сервер представляет собой некоторую программу (службу), принимающую HTTP-запросы от клиентов, обычно от веб-браузеров, обрабатывающую данные запросы и выдающую им ответ, как правило, вместе с HTLM-страницей (сайтом), изображением, файлом, медиа-потоком или другими данными. Ниже подробно рассмотрим…

    IIS (Internet Information Services) – один из немногих штатных инструментов Windows, которым можно пользоваться, не ища более приемлемых альтернатив от других разработчиков. Веб-сервер IIS с поддержкой языка PHP можно использовать…

    FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2. 0. Оглавление Добавление службы FTP-сервер Добавление…

    добавить произвольные данные в журналы IIS W3C?

    Я хочу добавить свой собственный столбец в журналы запросов IIS W3C, это возможно?

    Я хочу, чтобы IIS добавлял собственный столбец и значение для каждой строки журнала.

    По моему мнению, невозможно добавить новую строку, так как единственными доступными полями являются поля W3C в вашем формате журнала (выбран как W3C в настройках IIS). Вы можете перезаписать конкретное поле в журнале W3C, но вам нужно написать собственный модуль, чтобы сделать это, и в этой статье приведен пример кода для этого

    Howwer вы можете установить модуль AdvancedLogging для IIS, и он позволяет получить полный список настраиваемых полей

    Вы можете добавить пользовательские данные журнала в журнал IIS. Однако он добавляется к столбцу UriQuery.

    Развертывание веб-сайта с помощью IIS

    ASP.NET — Веб-сайты ASP.NET — Развертывание веб-сайта с помощью IIS

    После того как IIS 8 запущен, и вы научились им управлять, можно приступать к развертыванию веб-сайтов. В простейшем случае развертывание веб-приложений ASP.NET сводится к копированию структуры каталогов приложения на целевой компьютер и настройке среды. Для простых приложений это почти всегда так. Однако если приложение использует базы данных или обращается к другим ресурсам, придется выполнить ряд дополнительных шагов. Ниже перечислены обычные факторы, требующие дополнительных действий по конфигурированию:

    Скопируйте все необходимые файлы приложения на целевой компьютер. Сверх этого делать ничего не понадобится. Однако при использовании глобальных сборок, доступ к которым осуществляется через GAC, необходимо удостовериться в их существовании. Если они не существуют, их необходимо установить с помощью утилиты командной строки gacutil.exe, входящей в состав .NET Framework.

    Создайте и сконфигурируйте базу данных для приложения. Важно не только создать базу данных и ее таблицы, но и настроить учетные записи для входа на сервер базы данных и пользователей базы данных. Не забывайте, что в случае применения встроенной аутентификации для подключения к базе данных SQL Server учетную запись, под которой выполняется ASP.NET (учетная запись пула приложений или учетная запись aspnet_wp.exe), потребуется сконфигурировать в качестве пользователя базы данных приложения. Подход веб-развертывания может упростить развертывание базы данных. Если же применяется другой подход, конфигурирование и заполнение баз данных придется выполнить вручную.

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

    Установите права учетной записи Windows для пользователя рабочего процесса. Пользователь, от имени которого запускается рабочий процесс (w3wp.exe), нуждается в доступе для чтения к каталогам приложения. Если приложение обращается к другим ресурсам, например, к системному реестру или к журналу событий, для учетной записи рабочего процесса понадобится сконфигурировать разрешение на доступ к этим ресурсам.

    Если требуется обрабатывать любые URL-адреса с расширениями имен файлов, которые отличаются от расширений, зарегистрированных при установке ASP.NET по умолчанию, добавьте отображения файлов IIS.

    Сконфигурируйте ASP.NET (и настройки IIS 8.0, специфичные для приложения) в файле web.config для производственных сред. Другими словами, добавьте (или модифицируйте) любые нужные строки соединения и параметры настройки приложения, а также параметры безопасности и авторизации, параметры настройки состояния сеанса и параметры настройки глобализации.

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

    Основная задача связана с развертыванием содержимого приложения на сервере IIS 8. В этой статье предполагается наличие у вас прав администратора и вход в систему сервера от имени учетной записи администратора. Если используется разделяемый сервер или поставщик услуг хостинга, то поставщик пришлет сведения об учетной записи, которая должна применяться при развертывании веб-сайта. Для простоты мы будем считать, что работа выполняется с учетной записью администратора, но при управлении собственным сервером следует подумать об использовании менее привилегированной учетной записи.

    Развертывание посредством копирования файлов

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

    Подготовка IIS

    Прежде чем развертывать веб-сайт, нужно подготовить IIS. Главное решение, которое нужно принять, касается места размещения содержимого и его влияния на конечный URL-адрес. Начнем с очевидного подхода — предположим, что необходимо, чтобы URL-адрес для содержимого данного примера был следующим:

    IIS нужно подготовить так, чтобы было куда скопировать наш файл. В IIS Manager выберите элемент Default Web Site. Как следует из его имени, это сайт по умолчанию на сервере. Щелкните на нем правой кнопкой мыши и в контекстном меню выберите пункт Explore (Проводник), чтобы отрыть окно проводника Windows для заданного по умолчанию каталога IIS, которым является inetpub\wwwroot на системном томе (как правило, C:\).

    Создайте каталог WebsiteDeployment, а в нем — каталог FileCopy (чтобы обеспечить существование пути inetpub\wwwroot\WebsiteDeployment\FileCopy). Закройте окно проводника, чтобы вернуться в IIS Manager. Щелкните правой кнопкой на записи Default Web Site и в контекстном меню выберите пункт Refresh (Обновить), чтобы увидеть новый каталог.

    Веб-сайт

    Для демонстрации этой методики развертывания мы создали очень простой веб-сайт. Исходный код содержит единственную форму ASP.NET с одной меткой:

    В коде этой формы определен текст метки, отображающей версию .NET Framework, которая используется для обслуживания данного сайта:

    Развертывание веб-сайта

    При использовании этой методики развертывания нужно просто скопировать файлы в созданный каталог. Переместите файлы веб-сайта на сервер любым подходящим способом — посредством общего сетевого диска, съемного диска USB и т.п. — и скопируйте файлы Default.aspx и Default.aspx.cs в каталог FileCopy, созданный на сервере.

    Когда файлы будут скопированы, вернитесь в окно IIS Manager на сервере, щелкните правой кнопкой на папке FileCopy в древовидном представлении и в контекстном меню выберите пункт Refresh. В нижней части экрана щелкните на кнопке Content View (Просмотр содержимого). В центральной части окна должны отобразиться два файла веб-сайта, как показано на рисунке ниже:

    В этом состоит наиболее важная часть этой технологии развертывания — вначале должна быть создана структура каталогов, которая представляет необходимый URL-адрес, а затем в готовые каталоги копируются файлы веб-сайта. Посмотрим, как это выглядит на практике. Для этого выберите FileCopy в IIS Manager и щелкните на ссылке Browse (Обзор) в правой части окна. Откроется веб-браузер с загруженным URL-адресом созданной папки. Окно браузера должно выглядеть подобно показанному на рисунке ниже:

    Взглянув на URL-адрес адрес, можно удостовериться в том, что был получен желаемый результат. Браузер загрузил веб-сайт из следующего адреса:

    Вспомните, что localhost — это специальное имя, обозначающее текущий компьютер, а URL-адрес, в котором не указан порт, будет использовать порт 80. (В моем случае я переместил сайт на порт 8080 по причинам, указанным в предыдущей статье). Можете проверить это, направив браузер по следующему URL-адресу:

    Результат будет полностью аналогичен предыдущему (professorweb в данном случае имя сервера).

    Конфигурирование развертывания

    Возможно, вы обратили внимание, что версией .NET Framework, о которой сообщается на рисунке выше является 4. Чтобы изменить целевую версию .NET Framework понадобится изменить параметры настойки используемого по умолчанию пула приложений. Пока не задумывайтесь о том, что собой представляют пулы приложений — они будут подробно рассматриваться позже.

    В окне IIS Manager разверните элемент сервера и щелкните на элементе Application Pools (Пулы приложений). Щелкните на ссылке Set Application Pool Defaults (Определить значения по умолчанию для пула приложений) в правой части окна. В открывшемся диалоговом окне Application Pool Defaults (Значения по умолчанию для пула приложений) измените значение настройки .NET Framework Version (Версия среды .NET Framework) на необходимую:

    Вернитесь в браузер и перезагрузите страницу.

    IIS понадобится также указать, что развернутый сайт является приложением. Это не обязательно, но при развертывании приложений ASP.NET почти всегда будет желательным — активизируется состояние сеанса и другие функциональные средства ASP.NET. Щелкните правой кнопкой мыши на папке FileCopy в области Connections (Подключения) и в контекстном меню выберите пункт Convert to Application (Преобразовать в приложение), как показано на рисунке ниже:

    Откроется диалоговое окно Add Application (Добавление приложения). Используемый пул приложений можно изменить, щелкнув на кнопке Select (Выбрать). Настроить учетную запись пользователя, которую IIS будет применять для доступа к содержимому сайта, можно с помощью кнопок Connect as. (Подкл. как. ) и Test Settings. (Тест настроек. ). Пока что просто щелкните на кнопке ОК. Возможно, придется выбрать пункт Refresh (Обновить) в меню View (Вид) (или, как это часто имеет место, закрыть и снова открыть IIS Manager), но теперь значок записи FileCopy в древовидном представлении должен измениться.

    Развертывание с помощью Visual Studio

    Visual Studio предлагает встроенные возможности для упрощения развертывания веб-приложений, что облегчает задачу проектирования сложных веб-сайтов. Visual Studio включает в себя функции, которые интегрируются с IIS и позволяют создавать виртуальные каталоги, не выходя из комфортной среды разработки. Visual Studio предлагает несколько возможностей для интеграции с IIS:

    Вы можете создавать виртуальный каталог при создании нового проекта.

    Вы можете использовать функцию Copy Web Site (Копировать веб-сайт) для передачи существующего веб-сайта в виртуальный каталог.

    Вы можете использовать функцию Publish Web Site чтобы скомпилировать свой ​​сайт и передать его по новому адресу.

    Создание виртуального каталога для нового веб-сайта

    При создании веб-сайта в Visual Studio, вы можете одновременно создать виртуальный каталог для этого веб-сайта. Если вы сделаете это, Visual Studio не будет использовать встроенный тестовый сервер IIS Express. Вместо этого, все ваши запросы будут обрабатываться полной версией IIS.

    Для создания виртуального каталога IIS сначала необходимо запустить Visual Studio с правами администратора. Затем выберите пункт меню File New Web Site и в открывшемся диалоговом окне «New Web Site» выберите HTTP для расположения сайта (вместо файловой системы). Вы можете вставить строку URL. Например, если вы укажете http://localhost/MyWebSite, Visual Studio создаст каталог MyWebSite в виртуальном каталоге C:\Inetpub\Wwwroot используемым по умолчанию:

    Такой подход не является лучшим т.к. вы не сможете настроить некоторые параметры, такие как страницы по умолчанию, пользовательские ошибки и т.п. Вместо создания нового виртуального каталога с помощью Visual Studio лучше будет выбрать существующий каталог IIS, который в свою очередь можно сконфигурировать с помощью IIS Manager. Для этого щелкните по кнопке Browse (Обзор) и выберите нужный виртуальный каталог:

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

    Копирование веб-сайта

    Visual Studio также включает в себя быстрый и простой способ для передачи файлов веб-приложения. Вам просто нужно выбрать в меню WebSite Copy Web Site. Откроется новое диалоговое окно Visual Studio, которое покажется знакомым любому, кто имел дело с различными IDE-программами для работы с сайтами, такими как Dreamweaver или Expression Web:

    Это окно состоит из двух списков файлов. Слева находятся файлы в текущем проекте (на локальном жестком диске). Справа находятся файлы на целевом месте (удаленный веб-сервер). При первом открытии этого окна вы ничего не увидите справа, потому что вы не указали цель. Вы должны нажать кнопку Connect вверху, чтобы предоставить эту информацию. При этом Visual Studio откроет знакомое диалоговое окно, которое выглядит почти так же, как то, что вы видели при создании виртуального каталога для нового проекта. В этом окне вы можете выбрать одно из мест, куда нужно копировать веб-сайт:

    File System

    Это самый простой выбор — вы копируете файлы сайта внутри текущей файловой системы.

    Local IIS

    Позволяет выбирать виртуальные каталоги локального сервера IIS. Это удобно если сайт нужно будет разместить в другом каталоге.

    FTP Site

    Обеспечивает доступ к удаленному сайту через FTP. Многие хостинг-провайдеры предлагают доступ к сайтам через FTP, так что благодаря этой настройке вы можете сразу разворачивать свой сайт на удаленном веб-сервере, не прибегая к услугам различных FTP-программ наподобие TotalCommander:

    Эта опция предлагает подключение к сайту по URL-адресу с использованием расширения FrontPage Extensions.

    Как только вы выберите соответствующий пункт назначения, нажмите кнопку Open. Visual Studio попытается подключиться к удаленному сайт и получить список файлов.

    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL