Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Если «Подсказки» доступны для внешних пользователей интернета, вы наверняка захотите:

  • включить HTTPS,
  • кешировать статические файлы,
  • сжимать ответы, 
  • журналировать запросы,
  • настроить ограничение по количеству запросов с одного IP,
  • закрыть часть сервисов (совсем или за basic-авторизацией).

Лучше всего использовать ПО, в котором отлично реализованы перечисленные функции — популярный веб-сервер nginx. Запросы в этом случае будут идти так:

Image Removed

nginx выступает как прокси, через который внешний мир взаимодействует с «Подсказками». Он терминирует HTTPS, проверяет доступ и лимиты, записывает запросы и выполняет другие типичные для веб-серверов функции. «Подсказки» же занимаются своим делом — подсказывают адреса, компании и другие полезные данные.

Скорее всего, ваша организация уже использует nginx, и администраторы знают, как его настроить. Если нет — поможет официальная документация. Пример базовой настройки (без HTTPS, кеширования, авторизации и тому подобного) — ниже.

Excerpt Include
Настроить «Подсказки» через nginx
Настроить «Подсказки» через nginx
nopaneltrue

Мы не рекомендуем настраивать HTTPS на сервере приложений «Подсказок» (WildFly) и не поддерживаем такую конфигурацию. WildFly не умеет нормально выполнять функции веб-сервера.

Проксирование «Подсказок» через nginx

Исходим из того, что nginx работает на сервере Подсказок. Команды выполняются под рутом.

1. Установить nginx

No Format
yum install -y nginx

2. Отредактировать файл конфигурации /etc/nginx/nginx.conf. Вместо стандартного блока server { ... } установить такой:

No Format
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # uncomment for https support
    # listen 443 ssl;
    # listen [::]:443 ssl;

    server_name _;

    # uncomment for https support
    # IMPORTANT: you should issue certificate (public.pem and and private.pem) first
    # ssl_certificate /etc/nginx/ssl/public.pem;
    # ssl_certificate_key /etc/nginx/ssl/private.pem;

    location /suggestions/ {
        proxy_pass http://localhost:8080/suggestions/;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
    }
}

3. Запустить nginx:

No Format
systemctl start nginx

4. Открыть в браузере «Подсказки» через nginx по адресу:

No Format
http://IP_СЕРВЕРА:80/suggestions/api/4_1/rs/status

5. Убедиться, что URL открылся без ошибок и в логе nginx (/var/log/nginx/access.log) добавилась запись о выполненном запросе.

6. Включить автозапуск nginx:

...

Include Page
SGTDOC:Подсказки + nginx: проксирование
SGTDOC:Подсказки + nginx: проксирование