我必须为我的web应用程序创建访问日志。我们在jboss.i前使用appache http服务器,我使用的是Apache访问日志指令,但问题在于:在访问日志中没有获取sessionid的指令。我需要访问日志中的sessionid才能获得统计信息report.pls任何有解决方案的人都可以帮助我。如何将jsession id添加到apache http访问日志中
5
A
回答
1
包含%{JSESSIONID}℃到LogFormat指令
9
如果你的Web应用程序始终使用cookies来管理会话,你将被罚款改变你的LogFormat并添加参数记录特定的cookie:
LogFormat ... \"%{JSESSIONID}C\" ... combined
这不适用于第一次请求,因为通常没有将cookie发送到服务器。 参见: http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats:
%{Foobar的}℃
饼干Foobar的内容发送到服务器的请求。只有版本0 cookie完全受支持。
如果您需要登录每个JSESSIONID,所以evene这些编码为URL字符串,你可以这样你的Web应用程序服务器(如Tomcat)上设置的标题:
response.setHeader("X-JSESSIONID", request.getSession().getId());
在Apache日志格式可以登录这个RepsonseHeader与
%{Foobar的}Ø
Foobar的内容:回复中的标题行。
所以导致这样的事情:
LogFormat ... \"%{X-JSESSIONID}o\" ... combined
但留意安全:你不应该登录JSESSIONID因为大家谁有权访问日志文件可以劫持每个用户会话。当你在你的tomcat中设置标题行时,你可能应该加密sessionid。
String sessionId = request.getSession().getId();
String crypt = yourcryptalgo(sessionId);
response.setHeader("X-JSESSIONID", crypt);
相关问题
- 1. 如何启用ElasticSearch http访问日志
- 2. 如何提取的Apache访问日志
- 3. Apache访问日志含义
- 4. Apache访问日志调查
- 5. 将'secure'标志设置为JSESSION id cookie
- 6. 访问日志Apache和httaccess
- 7. Apache httpd访问日志或tomcat访问日志
- 8. 如何访问Cloudbees中的http访问日志
- 9. 如何将进程ID添加到LOG4J日志文件?
- 10. REST API,HTTP动词和访问日志
- 11. 将会话ID添加到Rails中的每个日志中
- 12. PERL/PHP解析APACHE访问日志
- 13. 如何将日期添加到我的sidekiq.log日志文件中?
- 14. CakePHP .htaccess打破访问Apache日志
- 15. Wildfly 10 Jsession ID
- 16. HTTP访问添加
- 17. Apache rotate访问和错误日志Windows
- 18. 如何自定义JSession ID
- 19. 将Apache配置为在访问日志和错误日志中记录主机
- 20. 将日志添加到WellSectionWindow中
- 21. PHP网页未加载 - apache访问日志中没有内容
- 22. 在Apache的访问日志获取PROPFIND
- 23. 如何通过htaccess禁用Apache中的访问日志?
- 24. symfony 1.4和Apache访问/错误日志
- 25. YQL表Apache的访问日志
- 26. 如何将Apache日志重定向到STDOUT和Apache日志文件
- 27. apache syslog-ng错误日志和访问日志
- 28. 将日志添加到气流日志中
- 29. 将删除Apache访问日志中断Subversion?
- 30. 多个jsession id tomcat
我试过了,但没有返回任何东西。 – 2011-05-30 10:31:12
我尝试了以下指令语法,但它没有添加sessionid来登录 LogFormat“%t%h \”%r \“%> s%b \”%{Referer} i \“\”%{User-agent “i \”%{JSESSIONID} C“合并 CustomLog logs/kv_acces_log combined – 2011-05-30 10:44:51
需要重新启动httpd,然后在客户端浏览器中刷新,因此jsessionid将出现在accesslog中。 – Jasonw 2011-05-30 12:13:16