Шлюз приложений на centos7

Назначение шлюза приложений
Шлюз приложений позволяет выполнять горизонтальное масштабирование сервиса путем добавления в сервис новых информационных баз с сохранением для однотипных информационных баз единого внешнего адреса.
Шлюз приложений принимает 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.