nginx部署反向代理

语雀内容

在router中获取真实IP

就不能使用
r.client.host // 这个是nginx的地址,不是真实的IP

  1. @app.get('/someurl')
  2. async def some_fun(r: Request):
  3. # ip = r.client.host 这个不再使用
  4. # 应该使用nginx 中设置的header
  5. # proxy_set_header X-Real-IP $remote_addr;
  6. # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  7. # 自定义的 proxy_set_header XXX-test-header "test header";
  8. print(r.headers) # 可以查看 headers的内容,是个dict
  9. if 'x-forwarded-for' in r.headers:
  10. ip = r.headers['x-forwarded-for']
  11. # ip = r.headers['x-real-ip']
  12. # self_defined_header = r.headers['xxx-test-header']