Редирект с HTTP на HTTPS для веб клиента CommuniGate Pro

В этой публикации я покажу, как можно выполнить редирект с HTTP на HTTPS для веб клиента CommuniGate Pro. Точнее один из возможных вариантов. Если у вас есть какие-то другие варианты – поделитесь, буду признателен.

Краткое описание особенности веб клиента CommuniGate Pro

Сразу после установки CommuniGate веб клиент доступен только по HTTP. Если вы установите сертификат, то опционально можете включить HTTPS для веб клиента. Однако, это делается вручную для каждой страницы веб скина. По крайней мере я нашел только этот способ.

Для CommuniGate Pro доступно программирование веб-сервера. Именно один из его методов мы и будем использовать, чтобы настроить перенаправление с HTTP на HTTPS.

Редирект с HTTP на HTTPS – пример настройки

Стандартная страница веб скина для клиента Samoware расположена по следующему пути:

/opt/CommuniGate/WebSkins/login.wssp

Именно код этой страницы я буду править. Что нам нужно сделать:

1. Определить – выполнил ли клиент безопасное подключение.

2. Если подлкючение безопасное (HTTPS), то выполняет код страницы login.wssp.

3. Если подключение не безопасное (HTTP), то нужно выполнить редирект с HTTP на HTTPS.

Приступим. Общий шаблон выглядит следующим образом:

<!--%%IF (REQUESTSECURE() == "YES") -->
выполнить код со страницы login.wssp
<!--%%ELSE -->
<HTML>
<HEAD>
 <META HTTP-EQUIV=REFRESH CONTENT="0; url=https://com01.%%domainName%%/">
 <TITLE>Redirecting to secure interface</TITLE>
</HEAD>
</HTML>
<!--%%ENDIF-->

%%domainName%% – возвращает имя домена CommuniGate Pro – itproblog.ru в моем случае. Поэтому в начале мне пришлось дополнить URL значением “com01.”, т.к. в моем DNS сервер CommuniGate зарегистрирован как com01.itproblog.ru. Если у вас используется какой-то нестандартный порт, то необходимо это указать в url, на который выполняется редирект. Например, https://com01.%%domainName%%:9100/

Функция REQUESTSECURE() возвращает значение “YES”, если клиент выполнил безопасное подключение. В противном случае функция возвращает пустое значение.

Итого, что мы делаем:

1. Открываем файл /opt/CommuniGate/WebSkins/login.wssp на редактирование:

vim /opt/CommuniGate/WebSkins/login.wssp

2. В самое начала файла добавляем строчку:

<!--%%IF (REQUESTSECURE() == "YES") -->

3. В самый конец файла добавляем оставшиеся строчки:

<!--%%ELSE -->
<HTML>
<HEAD>
 <META HTTP-EQUIV=REFRESH CONTENT="0; url=https://com01.%%domainName%%/">
 <TITLE>Redirecting to secure interface</TITLE>
</HEAD>
</HTML>
<!--%%ENDIF-->

4. Сохраняем изменения.

5. Перезапускаем сервер CommuniGate:

/etc/rc.d/init.d/CommuniGate stop
/etc/rc.d/init.d/CommuniGate start

Проверка редиректа

Теперь попробуем обратиться к нашему веб клиенту по HTTP:

http://com01.itproblog.ru/

Нас сразу же должно перенаправить на HTTPS подключение:

Добавить комментарий

Ваш адрес email не будет опубликован.