Работа Fort Monitor 3 по HTTP / HTTPS

[ВАЖНО] Прежде всего это касается тех, у кого Fort Monitor работает по HTTPS протоколу. Также это пригодится тем, кто решил перейти с HTTPS обратно на HTTP. Если у вас Fort Monitor 3 работает по HTTP с самого начала, то описанные здесь настройки не должны быть причиной каких-либо сбоев.

За корректную работу в определенном режиме отвечает атрибут binding с именем webHttpBindingWithJsonP. Как настроить этот атрибут для работы приложения в нужном вам режиме, необходимо отредактировать файл web.config в корне директории WebFM3 следующим образом:

Работа в режиме HTTP

Атрибут должен иметь вид:

<binding name="webHttpBindingWithJsonP" crossdomainscriptaccessenabled="true"></binding>

либо

<binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true">
    <security mode="None" />
</binding>
Работа в режиме HTTPS

Строку

<binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" />Заменить на:
<binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" maxReceivedMessageSize="2147483647"
  maxBufferPoolSize="2147483647" maxBufferSize="2147483647">
  <security mode="Transport" />
</binding>

Строки

<serviceMetadata httpGetEnabled="true" />

Необходимо заменить на:

<serviceMetadata httpsGetEnabled="true" />
Привязка сертификата к сайту в IIS

Для включения https на вашем сайте, необходимо иметь SSL сертификат. Это могут быть сертификаты подписанные центром сертификации (CA), сертификаты домена или самозаверенные сертификаты.

Когда у вас уже будет сертификат, в диспетчере служб IIS кликните правой кнопкой мыши на сайте WebFM3 и выберите "Изменить привязки...":

В появившемся окне нажмите "Добавить", если ещё нет записи с привязкой к порту "443".

В следующем окне укажите тип "https" и порт 443, а также выберите имеющийся у вас сертификат:

После этого перезапустите сервер в IIS и попробуйте обратиться к сайту через "https".

Перенаправление с http на https при использовании DNS

Если сервер имеет доменное имя и в то же время есть необходимость использования https , то при запросе URL с заголовком http подключиться к серверу не удастся. Следует настроить перенаправление.

Сначала следует создать произвольный пустой каталог. Затем создаем сайт в диспетчере служб IIS, даём ему название, в привязках указываем 80 порт и имя узла — существующее доменное имя. Для этого сайта выбираем отдельный каталог, который мы создали (в нем будет храниться файл web.config).

Затем, в настройках этого сайта выбираем пункт "Перенаправление протокола HTTP".

Если данный пункт отсутствует, то следует добавить (в меню "Программы и компоненты" или "Роли сервера") соответствующий компонент:

Затем, в пункте "Перенаправление протокола HTTP" устанавливаем все 3 флажка, в строке "Запросы на перенаправление по следующему назначению:" указываем наш домен, а код состояния следует установить как "Постоянное (301)".

Устранение проблем

После ввода логина и пароля на странице входа начинает загружаться основное окно приложения, но не загружается до конца. В большинстве браузеров будет видна вечно "крутящаяся" иконка загрузки, а в других просто белая страница. При этом на запросы к нашему API сервер выдает ошибку 404.

Можете проверить также, введя в строке браузера адрес http://<адрес_сервера>/api/Api.svc/getusersettings... для HTTP и https://<адрес_сервера>/api/Api.svc/getusersetting... для HTTPS. При необходимости добавьте порт после адреса сервера. Если вам вернулась ошибка 404, то это ваш случай.

Что делать, если не работает

1. Находите файл настроек Web.config в директории установки Fort Monitor 3. По умолчанию это будет файл C:\WebFM3\Web.config

2. Находите настройку и меняете ее на нужную вам. Сохраняете файл настроек.

3. Перезапускаете сайт Fort Monitor, или весь сервер IIS.

4. Проверяете, что вход выполняется успешно.