Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

Для реализации этой задачи необходимо включить модули "mod_headers.so" и "mod_ssl.so", в конфигурационном файле apache: "httpd.conf". Расположен в папке apache/conf.

Нужно найти строки:

#LoadModule headers_module modules/mod_headers.so

#LoadModule ssl_module modules/mod_ssl.so

И раскомментировать их путем удаления символа "#"

И

Далее в самый конец этого файла надо добавить строчку:

RequestHeader append caller_ip_adress "%{REMOTE_ADDR}s"

Сохранить файл и перезапустить службу Apache из списка служб

или из командной строки

Готово. Теперь при любом вызове сервиса, apache будет добавлять заголовок с ip адресом:

17 Comments

  1. YPermitin

    (0) по-больше бы таких статей.

    Спасибо! + доставлен 🙂

    Reply
  2. SirAlexIT

    (1) Поддерживаю! Для практических задач полезная информация. +

    Reply
  3. Sibars

    Спасибо за лестную оценку моей статьи. Напишите в комментариях кейсы использования ip адреса в 1с)

    Я использую для определения «злоупотребления» публичным api и установкой лимитов количества вызовов за определенный период

    Reply
  4. frkbvfnjh

    Спасибо, то что мне надо! Тоже была такая задача, но никто не смог помочь 🙁 Нужно было для логирования, что бы знать с какого устройства приходил запрос.

    Reply
  5. altu71

    Супер. А кто-нибудь может для IIS подсказать как настроить, если это возможно?

    Reply
  6. nvv1970

    (3) а если впереди nginx?

    Reply
  7. Sibars

    (6) Нет развернутого, точно не скажу, но можно использовать проброс:

    Прокирование IP в Nginx

    Reply
  8. asved.ru

    (6) аналогично на nginx

    Reply
  9. nvv1970

    (7) я просто привел пример, что апач может быть за прокси. Тогда никакого ip вы не получите, кроме ip самого прокси))

    Reply
  10. Sibars

    (9)

    тогда надо такой заголовок сформировать на стороне nginx и прокинуть его до apache 🙂

    Reply
  11. -vito-

    (5) Описал здесь

    Reply
  12. -vito-

    (9) (10)

    Постарался ответить на этот вопрос здесь

    Reply
  13. nvv1970

    (12) Отлично! Буковки и красивые картинки…. Реклама засчитана! )))

    Содержание уже интересно. Обязательно ознакомлюсь ))

    Reply
  14. altu71

    (11) Спасибо огромное! Прямо то, что нужно!

    Reply
  15. vsesam80

    А для веб сервиса на Апаче такое возможно сделать?

    Reply
  16. Sibars

    (15)

    К сожалению, нельзя.

    Apache не имеет доступа к «телу» сообщения, а 1С, при работе, с протоколом SOAP не принимает «лишние» заголовки.

    Reply
  17. vsesam80

    (16)Это печально. У нас все конфы старые, там HTTP низя запилить. А вот ip адрес входящего подключения было бы интересно посмотреть

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *