Инструкции
31.07.2020
Для развертывания клиентской транслирующей части необходимо взять отдельный сервер под управлением семейства операционных систем Linux. Nginx также существует для Windows, но в нем не реализована поддержка в виде службы, что не подходит под условия данной статьи.
Итак, предполагается, что есть только что установленная операционная система Ubuntu 18.04 LTS без графического интерфейса пользователя.
Перед тем как продолжить, нужно проверить доступные версии программного обеспечения дистрибутива. Выполняем команду:
Копировать в буфер обменаsudo apt update
В выводе результата команды можно увидеть, что доступны обновления. Рекомендуются их обновить с помощью команды (подсказка "Run ‘apt list –upgradable’"):
Копировать в буфер обменаsudo apt upgrade
По завершению обновления пакетов приложений можно приступить к установке непосредственно веб-сервера.
Нужно выполнить команду команду:
Копировать в буфер обменаsudo apt install nginx
Необходимо дождаться окончание выполнения команды и убедиться, что в момент установки никаких ошибок не возникло. В данном случае установка прошла без проблем.
Далее нужно проверить, что помимо самой установки, веб-сервер запустился и готов обрабатывать запросы (для данной команды использование sudo не обязательно):
Копировать в буфер обменаservice nginx status
В ответ можно увидеть, что состояние службы active (running). Это значит, что веб-сервер работает в штатном режиме, и можно переходить к настройке трансляции запросов либо к генерации самоподписанного сертификата (если в этом есть необходимость).
После установки Nginx в операционной системе уже должен быть установлен openssl. Поэтому можно сразу приступить к генерации сертификата.
Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:
Копировать в буфер обменаcd /etc/ssl/certs
После чего требуется ввести команду генерации сертификата, где вместо <SERVER> нужно подставить имя компьютера, на котором планируется размещен Apache:
Копировать в буфер обменаopenssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout <SERVER>.key -out <SERVER>.crt
Во время выполнения команды будет задано несколько вопросов. Для "Common Name (e.g. server FQDN or Your bane)" нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме "Country name" - здесь можно оставить по умолчанию).
После того как сертификаты были получены и размещены в директорию сертификатов, нужно перейти в директорию публикаций сайтов Nginx:
Копировать в буфер обменаcd /etc/nginx
Предполагается, что уже есть две базы опубликованные на веб-серверах с Apache и IIS (см. Настройка веб-сервера IIS и 3. Установка Apache под Linux).
Веб-сервер Apache расположен на компьютере <ИМЯ СЕРВЕРА APACHE>, а веб-сервер IIS расположен на компьютере <ИМЯ СЕРВЕРА IIS>.
На веб-сервере Apache опубликована информационная база с именем <ИМЯ ПУБЛИКАЦИИ APACHE>, а на веб-сервере IIS опубликована информационная база с именем <ИМЯ ПУБЛИКАЦИИ IIS>.
С помощью любого удобного редактора нужно отредактировать файл nginx.conf и добавить в секцию http после комментария "# SSL Settings" (предварительно удалив все параметры в этой секции) следующий текст настройки:
Копировать в буфер обменаserver { listen 443 ssl; server_name _; keepalive_timeout 70; ssl_certificate /etc/ssl/certs/server2.crt; ssl_certificate_key /etc/ssl/certs/server2.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location /<ИМЯ ПУБЛИКАЦИИ APACHE>/ { proxy_pass http://<ИМЯ СЕРВЕРА APACHE>/<ИМЯ ПУБЛИКАЦИИ APACHE>/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; } location /<ИМЯ ПУБЛИКАЦИИ IIS>/ { proxy_pass http://<ИМЯ СЕРВЕРА IIS>/<ИМЯ ПУБЛИКАЦИИ IIS>/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_heade X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; } }
После этого нужно сохранить и перезапустить службу nginx.
Копировать в буфер обменаsudo service nginx restart
Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:
Для таких параметров ссылка будет иметь вид:
https://server2/test_1c_iis
https://server2/test_1c_apache