技术渣 不是很懂nginx,我尽量描述的详细一点:
用gunicorn和nginx部署flask大部分都正常,唯独有一个falsk路由设置返回一个response,类似于
@auth.route('/validate.png',methods=['GET'])
def get_code():
code_img,strs = create_validate_code()
...
buf = StringIO.StringIO()
code_img.save(buf,'PNG',quality=70)
buf_str = buf.getvalue()
return Response(response=buf_str,status=200,mimetype= 'image/png')
在flask自带的服务中测试很正常但是部署在nginx上后这个url路由就无法正常加载了,nginx一直报500错误,查看日志也没有任何异常,F12查看response.heaser的头部mime.types一直是'text/html;charset utf-8',请问究竟是哪里出错了?
PS:/etc/nginx/sites-available/default配置nginx配置如下
server {
listen 80 default_server;
server_name ********;
location / {
include /etc/nginx/mime.types;
proxy_pass http://127.0.0.1:2170;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
}
location /static/ {
root /var/www/app/;
}
}
Show yours
nginx
配置吧,我猜可能是重设了headers