Nginx代理时在gunicorn的日志中记录真实访问IP
问题描述
Nginx代理gunicorn时,log中记录的不是用户IP。
解决方法
Nginx转发IP
设置proxy_set_header X-Real-IP $remote_addr,将用户信息发给gunicorn。
1 | location /api { |
gunicorn输出IP
设置gunicorn的access_log_format:
1 | access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s" "%({X-Real-IP}i)s"' |
其中”%({X-Real-IP}i)s“是用户IP。
具体格式可参考: gunicorn官网(logging)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AlMirai!