如果Web应用程序服务器(例如nginx和php-fpm )位于Load-Balancer之后,例如AWS-ELB :
Client -> Load-Balancer -> Web Application server
从Web应用程序获取真正的客户端IP有两种方式来实现我:
在Web服务器上处理转发IP,如设置nginx真实IP模块 。
处理Web应用程序上的转发IP,例如通过从信任代理转发头来获取IP。
哪一种方法更好? 或者还有其他更好的方法吗?
谢谢。
最后,我决定通过nginx真正的IP模块来处理Web服务器上的转发IP。
处理应用程序也需要为Web服务器做同样的事情,使访问日志具有正确的IP。
多一点的performance。
Web应用程序不需要知道networking结构太深,这可以提高工作规范。
如果您使用Apache作为Web服务器, mod_remoteip模块可以为真正的IP做同样的事情。