Page tree
Skip to end of metadata
Go to start of metadata

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

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

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

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

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

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

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

Команды выполняются под рутом.

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

yum install -y nginx

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

upstream suggestions {
    ip_hash;
    keepalive 16;
    server SUGGESTIONS_SERVER_IP:8080;
}

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;

    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_http_version 1.1;
    proxy_set_header Connection "";

    location /suggestions/ {
         proxy_pass http://suggestions;
     }
}

Вместо SUGGESTIONS_SERVER_IP подставить конкретное значение.

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:

systemctl enable nginx

  • No labels