KeyError: 'HTTP_ACCESS_TOKEN' : Flask with gevent WSGIServer

KeyError: 'HTTP_ACCESS_TOKEN' : Flask with gevent WSGIServer

我正在尝试使用 gevent WSGIServer

将我的 Flask 应用程序投入生产
if __name__ == "__main__":

    app_host = "0.0.0.0"
    app_port = "8080"
    #app.run(host=app_host, port=app_port, debug=False)

    http_server = WSGIServer((app_host, app_port), app)
    logging.info("Starting the App server")
    http_server.serve_forever()

我是 运行 gevent WSGIServer 的应用程序服务器。每当我尝试获取

之类的任何数据时
token = request.headers["access_token"]

收到以下错误

File "app.py", line 62, in post
token = request.headers["access_token"]
File "/home/shravan40/.local/lib/python3.6/site-packages/werkzeug/datastructures.py", line 1463, in __getitem__
return _unicodify_header_value(self.environ["HTTP_" + key])
KeyError: 'HTTP_ACCESS_TOKEN'
2020-08-03T18:01:31Z {'REMOTE_ADDR': '::ffff:127.0.0.1', 'REMOTE_PORT': '55088', 'HTTP_HOST': '127.0.0.1:8080', (hidden keys: 26)} failed with KeyError

pywsgi 有一个叫做 SecureEnviron 的东西。这是为了防止 HTTP 授权和 cookie 等潜在敏感信息被无意打印或记录。

可以在 official documentation

阅读更多内容

因为我在 header 中将 access_token 作为键传递并尝试从代码中访问它,所以它引发了 KeyError: 'HTTP_ACCESS_TOKEN' 因为它不是 [= 的一部分14=].

我将 Authorization 用作 header 键,效果非常好。同样可以通过将 access_token 添加到 whitelist_keys.

中来完成