我有一个通过Flask Restplus生成的Swagger UI。
我最近在我的本地计算机上安装了基本身份验证,并且一切正常。但是,当放置到生产服务器(select * from voucher a
join voucher b on
(b.vchtype = 'D' and a.remarks like ('%' + b.vchseq + '%') and a.vchtype = 'R')
和httpd
)上时,请求标头将完全丢失。
我使用了here所示的第二种技术。
我的授权如下:
mod_wsgi
然后在我的端点,我得到这样的用户名和密码:
authorizations = {
'Basic Auth': {
'type': 'basic',
'in': 'header',
'name': 'Authorization'
},
}
仅在生产服务器上会引发错误:
encoded_auth_header = request.headers['Authorization'].split()[1]
username, password = b64decode(encoded_auth_header).split(':')
最初,我认为可能是return _unicodify_header_value(self.environ['HTTP_' + key]
KeyError: HTTP_AUTHORIZATION
中的'A'和'a'之间的区别
(即使在“授权”中用大写字母“ A”表示,它们都可以在我的本地计算机上工作)
因此,我尝试仅打印整个请求标头输出以进行检查。 事实证明,授权密钥完全丢失了!
用户代理和内容类型等都在那里...只是缺少授权部分。
我该如何解决?