首页 > 解决方案 > Nginx 从 proxy_pass 读取 django 响应的标头

问题描述

一直在阅读很多stackoverflows,尝试过$upstream_http_<name>$sent_http_<name>都一无所获,因此我开始了一个新问题:

    location = /novnc-auth {
        internal;
        # calls the django view below
        proxy_pass http://127.0.0.1:8000/api/proxmox/novnc-connection-lookup/$cookie_novnc/;
        # set $pve $upstream_http_pve;
        # set $vmhhost $upstream_http_vmhhost;
    }

    location = /novnc/ {
        auth_request /novnc-auth;
        proxy_set_header Cookie 'PVEAuthCookie=$upstream_http_pve';
        proxy_pass https://$upstream_http_vmhhost/$is_args$args;

    }

django视图

   def view(self, ...):
        data = json.loads(data_string)
        resp = HttpResponse(data_string)
        resp['Pve'] = data['pve']
        resp['Vmhhost'] = data['host']
        return resp

所以基本上我想在 nginx 块中获取 django 视图的值Pve并设置,目前我正在获取这意味着 upstream_http_vmhhost 是空的,我做错了什么?Vmhhost/novnc/no host in upstream

标签: nginx

解决方案


推荐阅读