Получение приватного IP-адреса пользователя Rook/Shiny Page
Я создал веб-приложение, используя Rook
который слушает мой сетевой ip (192.168.xx.xx) на порту 8000. Каждый в моем офисе может подключиться к ним, просто набрав http://192.168.xx.xx:8000/page_name
в браузере. Мне нужно следить за использованием этих страниц и удивляться, как я могу получить сетевой IP-адрес тех, кто к ним подключен.
У меня нет опыта в веб-разработке, и из проведенных исследований кажется, что использование клиентского кода, такого как JavaScript
это очень трудно (почти невозможно) достичь этого (поправьте меня, если я ошибаюсь). Итак, мой вопрос: есть ли способ получить IP-адрес сетевого клиента с помощью серверного кода внутри приложения Rook? (При необходимости я бы хотел изменить веб-сервер, любое решение приветствуется).
Спасибо и заранее извините, если мой вопрос покажется запутанным... в частности, я не уверен, нужны ли другие теги.
РЕДАКТИРОВАТЬ: Я также принял бы ответы, используя что-то другое, чем 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
в зависимости от того, если вы оставите формат по умолчанию или измените его.
1 ответ
Кажется, что Rook будет обеспечивать удаленное добавление только при поддержке rApache.
Другим вариантом будет настройка сервера поставки из "обычных людей" @ RStudio, а затем настроить журнал доступа таким образом, чтобы вы могли анализировать его, используя выбранный вами формат журнала доступа.
Я бы склонялся к решению Shiny, так как автор rApache также помог с Shiny и Shiny (поскольку он является официальным продуктом RStudio), похоже, готов к росту и долгосрочной доступности, чего нельзя сказать о rApache (как хорошо как есть!).