近期使用ubuntu环境搭建了一套openstack环境,发现一个特别坑的BUG,那就是使用客户端发送cinder的http请求时总是莫名其妙没有权限401,而dashboard和命令行均正常。
我们知道,ubuntu环境下cinderAPI是通过apache2启动的,这里有一个问题,http消息头中的X_AUTH_TOKEN在apache2中无法识别,他会给你过滤掉,具体原因我也不知道为啥。
所以只需要将你java程序或者python程序中的http header消息中的key
X_AUTH_TOKEN 换成 X-Auth-Token
Content-Type 换成 Content-type