Python 用于临时url和跨域的Openstack Swift日志记录

Python 用于临时url和跨域的Openstack Swift日志记录,python,cors,openstack,openstack-swift,Python,Cors,Openstack,Openstack Swift,我们有自己的私有云,我在那里安装了OpenStack Swift。我有一个工作节点(代理和存储),如果我使用openstack和swift python cli存储和检索文件,它允许我存储和检索文件。此外,我能够在远程机器上使用python API来存储和检索文件 我的问题的根源是如何调试临时url和跨域筛选器问题。有没有办法打开这些过滤器的详细调试日志记录 我将默认日志记录设置为 log_name = swift log_facility = LOG_LOCAL0 log_level = DE

我们有自己的私有云,我在那里安装了OpenStack Swift。我有一个工作节点(代理和存储),如果我使用openstack和swift python cli存储和检索文件,它允许我存储和检索文件。此外,我能够在远程机器上使用python API来存储和检索文件

我的问题的根源是如何调试临时url和跨域筛选器问题。有没有办法打开这些过滤器的详细调试日志记录

我将默认日志记录设置为

log_name = swift
log_facility = LOG_LOCAL0
log_level = DEBUG
我试图排除的情况如下。当我尝试使用临时url和跨域(用于CORS)时,我得到了401。我调试了代码,它似乎是一个无效的HMAC错误。根据研究,这似乎是一个日期时间问题,客户机和服务器错过了匹配的时间。但是,两者都在运行ntpd服务,因此时间应该是同步的

对于CORS,飞行前选项请求似乎成功。随后的看跌期权因401……而失败

“请求的资源上不存在“Access Control Allow Origin”标头。Origin”http://blahost'因此不允许访问。响应的HTTP状态代码为401。
“ 奇怪的是,选项请求返回的是“访问控制允许原点”,而不是“访问控制允许原点”。。。案件已结案

飞行前请求:

OPTIONS /v1/AUTH_99cf99f26aaa4b2c923806231b03334c/436/88b6d895-6dbf-4f29-904d-96c9b7959016?temp_url_sig=4a953c34372e37b2a22bb31fb0581a7eb7f02cee&temp_url_expires=1441508891 HTTP/1.1
Host: 23.253.200.41:8080
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: PUT
Origin: http://blahhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Access-Control-Request-Headers: accept, content-type
Accept: */*
Referer: http://blahost/binder/436/site/419/folder/17560/file
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
飞行前响应:

HTTP/1.1 200 OK
access-control-allow-origin: http://blahost
access-control-allow-methods: HEAD, GET, PUT, POST, COPY, OPTIONS, DELETE
access-control-allow-headers: content-type, accept
Allow: HEAD, GET, PUT, POST, COPY, OPTIONS, DELETE
Content-Length: 0
X-Trans-Id: tx9e359777dfb94148858cd-0055eba012
Date: Sun, 06 Sep 2015 02:08:18 GMT
Connection: keep-alive
后续PUT请求(请注意,它缺少访问控制允许源)

如果您能提供有关如何排除故障的建议,我将不胜感激

谢谢
Greg

这似乎与我的问题类似,但我相信我的问题围绕着JS中生成的签名。你发现这个问题有什么进展吗?也许这会对我的情况有所帮助。请确保CORS和tempUrl中间件的配置顺序正确。。科尔斯优先。在尝试创建tempURL之前,还要确保正确设置了tempURL键。我必须通过MySQL命令行检查帐户的实际数据库。这似乎与我的问题类似,但我相信我的问题围绕着JS中生成的签名。你发现这个问题有什么进展吗?也许这会对我的情况有所帮助。请确保CORS和tempUrl中间件的配置顺序正确。。科尔斯优先。在尝试创建tempURL之前,还要确保正确设置了tempURL键。我必须通过MySQL命令行检查帐户的实际数据库。
PUT /v1/AUTH_99cf99f26aaa4b2c923806231b03334c/436/88b6d895-6dbf-4f29-904d-96c9b7959016?temp_url_sig=4a953c34372e37b2a22bb31fb0581a7eb7f02cee&temp_url_expires=1441508891 HTTP/1.1
Host: 23.253.200.41:8080
Connection: keep-alive
Content-Length: 16231
Pragma: no-cache
Cache-Control: no-cache
Accept: */*
Origin: http://blahost
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36
Content-Type: application/pdf
Referer: http://blahost/binder/436/site/419/folder/17560/file
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8