我有一个使用 OpenVPN 和 Apache 通过 HTTPS 进行端口共享的设置,运行良好。但是,在我的 Apache 日志中,请求是用 OpenVPN 服务器 IP 记录的,而不是客户端的实际 IP。
这使得对这些日志的任何分析都毫无用处,我想记录客户端的 IP。我该怎么做?
答案1
这看起来不太可能——唯一能做到这一点的方法是,OpenVPN 在第 7 层拦截您的 HTTP 请求,并在请求中插入包含客户端 IP 的标头(如 X-Forwarded-For)。然后,您可以使用自定义日志格式或类似 mod_rpaf 的格式来确保 IP 最终出现在日志中。
OpenVPN 文档中没有提到此功能,我怀疑他们只是在明显不是 HTTP 请求时直接传递 TCP 连接。最好的办法可能是在您的服务器上设置第二个 IP 地址并像这样拆分服务。