从 java 代码访问 Apache 的 unique_id
Posted
技术标签:
【中文标题】从 java 代码访问 Apache 的 unique_id【英文标题】:Accessing Apache's unique_id from java code 【发布时间】:2013-06-23 18:44:14 【问题描述】:我需要访问 mod_unique_id 属性才能向我的 apache 服务器发出请求。有没有办法在java代码中做到这一点,比如request.UNIQUE_ID
?我已经阅读了this 并找不到任何东西,我也没有完全理解这篇文章,所以我可能遗漏了一些东西。如果有人能帮我解决这个问题,那就太好了!
【问题讨论】:
【参考方案1】:您可以将 UNIQUE_ID 添加为请求标头
Apache 配置:
RequestHeader set UNIQUE_ID "%UNIQUE_IDe"
然后编写一些Java代码来读取这个头文件:
request.getHeader("UNIQUE_ID");
【讨论】:
【参考方案2】:在 /etc/apache2/apache2.conf 中:
<IfModule unique_id_module>
SetEnvIf X-Requestid "^$" no_request_id
RequestHeader set X-Requestid %UNIQUE_IDe env=no_request_id
</IfModule>
在启用模式中添加符号链接:unique_id.load -> ../mods-available/unique_id.load
在shell中,执行sudo a2enmod headers
重启apache
在 Java 代码中:
import javax.servlet.http.HttpServletRequest;
String uniqueId = request.getHeader("x-requestid");
【讨论】:
请将X-Requestid
更改为X-Request-ID
,以免造成混淆以上是关于从 java 代码访问 Apache 的 unique_id的主要内容,如果未能解决你的问题,请参考以下文章
从 java 代码访问 Apache 的 unique_id
最常见 IP 地址 bash 脚本的 Apache 访问日志