Подтвердить что ты не робот

Получение личного IP-адреса пользователя Rook/Shiny

Я создал несколько веб-приложений с помощью Rook, которые прослушивают мой IP-адрес сети (192.168.xx.xx) на порту 8000. Каждый, кто находится внутри моего офиса, может подключиться к ним, просто набрав http://192.168.xx.xx:8000/page_name в браузере. Мне нужно отслеживать использование этих страниц и задаться вопросом, как я могу получить IP-адрес сети тех, кто с ними связан.

Я не знаком с веб-разработкой, и из проведенных до сих пор исследований кажется, что использование кода на стороне клиента, такого как JavaScript, очень сложно (почти невозможно) достичь этого (исправьте меня, если я ошибаюсь). Итак, мой вопрос: есть ли способ получить IP-адрес сетевого клиента с использованием кода на стороне сервера внутри приложения Rook? (При необходимости я бы хотел изменить веб-сервер, любое решение было оценено).

Спасибо и извините заранее, если мой вопрос будет запутанным... в частности, я не уверен, нужны ли другие теги.

EDIT: Я также принимаю ответы, используя что-то отличное от Rook (но все же в R)

ИЗМЕНИТЬ 2: Я установил Shiny Server после этой . Я нахожусь на этапе настройки сервера, чтобы получить access_log, который, согласно @Thell, содержит необходимую мне информацию. В shiny-server.conf я добавил относительный оператор и теперь:

run_as shiny;

server {
  listen 3838;

  location / {
    site_dir /var/shiny-server/www;
    log_dir /var/shiny-server/log;
    directory_index on;
  }

}

access_log /home/michelec/log.txt;

последняя строка должна сказать блестящей, чтобы написать access_log в мою домашнюю папку. Однако ничего не происходит, журнал остается пустым. в соответствии с здесь, в разделе "Форматы" я должен получить один из этих журналов:

default ':remote-addr - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"'
short ':remote-addr - :method :url HTTP/:http-version :status :res[content-length] - :response-time ms'
tiny ':method :url :status :res[content-length] - :response-time ms'
dev concise output colored by response status for development use

если вы оставите формат по умолчанию или вы его измените.

4b9b3361

Ответ 1

Кажется, что Rook будет предоставлять удаленное дополнение только при поддержке rApache.

Другим вариантом было бы установить shiny-server из прекрасных людей @RStudio, а затем настроить журнал доступа, чтобы вы могли анализировать это, используя выбранный формат журнала доступа, который вы выбираете.

Я склоняюсь к Блестящему решению, так как автор rApache также помог Shiny и Shiny (будучи официальным продуктом RStudio), похоже, готов к росту и долгосрочной доступности, что мы не может действительно сказать о rApache (насколько это возможно!).