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