【发布时间】:2020-10-13 06:16:18
【问题描述】:
我们在两台服务器中使用相同的 gunicorn 和 nginx 配置。一台服务器提供客户端IP,但不在其他服务器中。两者都是 ubuntu 服务器。
我们正在使用 fastAPI 框架开发 REST API 服务。我们在 nginx 后面运行 gunicorn。 下面是 gunicorn.py 文件
import os
errorlog = '/var/log/gunicorn/gunicorn.log'
loglevel = 'debug'
bind = 'unix:/tmp/gunicorn.sock'
daemon = True
workers = os.cpu_count() * 2
timeout = 600
graceful_timeout = 600
keepalive = 60
worker_class = "uvicorn.workers.UvicornWorker"
max_requests = 2048
preload_app = True
max_requests_jitter = 1024
worker_connections = 1000
proxy_protocol = True
forwarded_allow_ips = "*"
proxy_allow_ips = "*"
我们使用 gunicorn -c gunicorn.py base.main:app 在 gunicorn.py 文件上方运行 我们使用 request.client.host
获取客户端 IP【问题讨论】:
-
问题通过重新创建我的虚拟环境得到解决。删除现有环境并在服务中再次创建。它现在正在工作。
-
如果您的问题得到解决,请将其写为答案。
标签: nginx ip client gunicorn fastapi