Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

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

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

Image Removed

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

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

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

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

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

Без форматирования
yum install -y nginx

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

Без форматирования
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:

Без форматирования
systemctl start nginx

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

Без форматирования
http://IP_СЕРВЕРА:80/suggestions/api/4_1/rs/status

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

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

...

Включить страницу
SGTDOC:Подсказки + nginx: проксирование
SGTDOC:Подсказки + nginx: проксирование