Назначение шлюза приложений
Шлюз приложений позволяет выполнять горизонтальное масштабирование сервиса путем добавления в сервис новых информационных баз с сохранением для однотипных информационных баз единого внешнего адреса.
Шлюз приложений принимает HTTP-запросы к областям данным и перенаправляет каждый запрос на веб-сервер с публикацией информационной базы, содержащей нужную область данных.
ЗАМЕЧАНИЕ. Шлюз приложений — это необязательный компонент технологии сервиса. Шлюз не является самостоятельной компонентой и управляется менеджером сервиса.
Для установки шлюза приложений выполняем следующие действия.
1. Создаем на сервере в каталоге /1c подкаталог appgate.
#mkdir -p /1c/appgate
2. Копируем в каталог /1c/appgate модуль шлюза приложений,
#cp /root/appgate-1.1.1.4-1.noarch.rpm /1c/appgate
3. Переходим в каталог
#cd /1c/appgate
и запускаем установку шлюза командой
#rpm -ivh *
4. Для проверки, что шлюз был установлен, переходим в каталог
#cd /opt/1C/1cfresh
В нем должен появиться подкаталог appgate. Переходим в каталог
#cd /opt/1C/1cfresh/appgate
и видим там файлы шлюза приложений
Смотрим настройки шлюза в файле appgatesettings.xml в каталоге /opt/1C/1cfresh/appgate/settings.
#mcedit /opt/1C/1cfresh/appgate/settings/appgatesettings.xml
<Settings xmlns=»http://general.settings.appgate.v8.1c.com/»> <dataLocation>/opt/1C/1cfresh/appgate/data/
</dataLocation>
<listenAddress/>
<listenPort>8080
</listenPort>
<manageAddress/>
<managePort>9090</managePort>
<appIdDepth>3</appIdDepth> <backendIndex>0</backendIndex> <backendHttpSettings> <connectTimeout>5000</connectTimeout> <readTimeout>75000</readTimeout> <writeTimeout>0</writeTimeout> </backendHttpSettings> <manageHttpSettings> <readTimeout>75000</readTimeout> <writeTimeout>75000</writeTimeout> </manageHttpSettings> </Settings>
Здесь все настройки можно оставить стандартными. Шлюз «слушает» порт 8080, а управление шлюзом осуществляется по порту 9090. Глубина расположения значения номера области в URL при вызове приложения — 3 (параметр appIdDepth). Это нас устраивает, так как адреса вызова приложений имеют вид 1cfresh.local/a/имя-приложения/номер-области/…
6. Чтобы установить код ответа шлюза при поступлении запроса к неизвестному приложению, добавим в файл настроек шлюза перед директивой </settings> установку значения параметра invalidApplicationStatus. Для этого включим в файл настроек строку: <invalidApplicationStatus>420</invalidApplicationStatus>
7. Сохраним файл, нажав клавишу F2. И выйдем из редактора Midnight Commander, нажав клавишу F10.
8. Службу ставим в автозапуск
#systemctl enable appgate
9. Проверяем, запущена ли служба appgate, введя команду
#systemctl status appgate
Это означает, что служба appgate не запущена.
10. Запускаем службу appgate, введя команду
#systemctl start appgate
11. Проверяем, запущена ли служба appgate, введя команду
systemctl status appgate
Установка Java
Создадим на сервере в каталог
#mkdir -p /1c/Java
и скопируем туда дистрибутив 64-битной Java Runtime Environment для RPM-based Linux, который был загружен в п. 2.7.
закидываем через WinSCP
#cp /root/jre-7u80-linux-x64.rpm /1c/Java
Перейдем в каталог
#cd /1c/Java
просмотрим оглавление этого каталога /1c/Java и убедимся, что файл скопирован
устанавливаем
#rpm -ivh *
проверка версии
#java -version
Создаем пользователя шлюза
В каталоге шлюза /opt/1C/1cfresh/appgate имеется скрипт setAuth.sh, с помощью которого задаются логин и пароль пользователя шлюза. Менеджер сервиса должен будет обращаться к шлюзу, указывая эти логин и пароль. Формат вызова скрипта:
setAuth.sh логин пароль
Перейдем в консоли сервера в каталог
#cd /opt/1C/1cfresh/appgate
и запустим скрипт setAuth.sh:
#./setAuth.sh appgate 12345Qwerty
Здесь мы задали имя пользователя appgate и пароль 12345Qwerty
Скрипт выдаст сообщение: successfully set auth data, exiting
Это означает, что пользователь шлюза и его пароль заданы.
проверяем в браузере
http://ip:9090/version
проверяем файервол на открытие портов
можем на время отключить
systemctl stop firewalld
и проверить
http://ip:9090/version
все ok.