nginx部署反向代理
在router中获取真实IP
就不能使用
r.client.host // 这个是nginx的地址,不是真实的IP
@app.get('/someurl')async def some_fun(r: Request):# ip = r.client.host 这个不再使用# 应该使用nginx 中设置的header# proxy_set_header X-Real-IP $remote_addr;# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 自定义的 proxy_set_header XXX-test-header "test header";print(r.headers) # 可以查看 headers的内容,是个dictif 'x-forwarded-for' in r.headers:ip = r.headers['x-forwarded-for']# ip = r.headers['x-real-ip']# self_defined_header = r.headers['xxx-test-header']
