我创建了一些网络应用程序,使用Rook
它在端口 8000 处监听我的网络 ip (192.168.xx.xx)。我办公室里的每个人都可以连接到他们,只需http://192.168.xx.xx:8000/page_name
在浏览器中输入。我需要监控这些页面的使用情况,并想知道如何获取连接到它们的网络 IP 地址。
我在 Web 开发方面没有经验,从目前所做的研究来看,使用客户端代码似乎JavaScript
很难(几乎不可能)实现这一点,(如果我错了,请纠正我)。所以,我的问题是:有没有办法在 Rook 应用程序中使用服务器端代码获取网络客户端 IP?(如果需要,我愿意更改网络服务器,任何解决方案都值得赞赏)。
如果我的问题看起来令人困惑,请提前感谢和抱歉......特别是我不确定是否需要其他标签。
编辑:我也会接受使用不同于Rook
(但仍在R
)的答案
编辑 2:我在此链接之后设置了 Shiny Server 。根据@Thell,我正在配置服务器以获得access_log
包含我需要的信息的信息。在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
取决于您是保留默认格式还是更改它。