<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I've been looking at tempurl.py and found that the problem occurs here:<div><br></div><div><div><div><font face="Lucida Console">    def _get_key(self, env, account):</font></div><div><font face="Lucida Console">        """</font></div><div><font face="Lucida Console">        Returns the X-Account-Meta-Temp-URL-Key header value for the</font></div><div><font face="Lucida Console">        account, or None if none is set.</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">        :param env: The WSGI environment for the request.</font></div><div><font face="Lucida Console">        :param account: Account str.</font></div><div><font face="Lucida Console">        :returns: X-Account-Meta-Temp-URL-Key str value, or None.</font></div><div><font face="Lucida Console">        """</font></div><div><font face="Lucida Console">        key = None</font></div><div><font face="Lucida Console">        memcache = env.get('swift.cache')</font></div><div><font face="Lucida Console">        if memcache:</font></div><div><font face="Lucida Console">            key = memcache.get('temp-url-key/%s' % account)</font></div><div><font face="Lucida Console">        if not key:</font></div><div><font face="Lucida Console">            newenv = make_pre_authed_env(env, 'HEAD', '/v1/' + account,</font></div><div><font face="Lucida Console">                                         self.agent)</font></div><div><font face="Lucida Console">            newenv['CONTENT_LENGTH'] = '0'</font></div><div><font face="Lucida Console">            newenv['wsgi.input'] = StringIO('')</font></div><div><font face="Lucida Console">            key = [None]</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">            def _start_response(status, response_headers, exc_info=None):</font></div><div><font face="Lucida Console">                for h, v in response_headers:</font></div><div><font face="Lucida Console">                    if h.lower() == 'x-account-meta-temp-url-key':</font></div><div><font face="Lucida Console">                        key[0] = v</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">            i = iter(self.app(newenv, _start_response))</font></div><div><font face="Lucida Console">            self.logger.info()</font></div><div><font face="Lucida Console">            try:</font></div><div><font face="Lucida Console">                i.next()</font></div><div><font face="Lucida Console">            except StopIteration:</font></div><div><font face="Lucida Console">                pass</font></div><div><font face="Lucida Console">            key = key[0]</font></div><div><font face="Lucida Console">            if key and memcache:</font></div><div><font face="Lucida Console">                memcache.set('temp-url-key/%s' % account, key, timeout=60)</font></div><div><font face="Lucida Console">        return key</font></div></div></div><div><br></div><div>The request get 403 forbidden and thus never gets the key in the first place. I'm looking at the github repo and the implementation there seems to have changed.</div><div><br></div><div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Mvh / Best regards</div><div>Morten Møller Riis</div><div>Gigahost ApS</div><div><a href="mailto:mmr@gigahost.dk">mmr@gigahost.dk</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On Jul 10, 2013, at 6:24 PM, Morten Møller Riis <<a href="mailto:mmr@gigahost.dk">mmr@gigahost.dk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I'm having trouble getting tempurl to work.<div><br></div><div>I set the "X-Account-Meta-Temp-Url-Key" metadata on the account. And a GET request shows it's set correctly.</div><div><br></div><div>I've enabled it on the proxy server in /etc/swift/proxy-server.conf:</div><div><br></div><div><div><font face="Lucida Console">[DEFAULT]</font></div><div><font face="Lucida Console">bind_port = 8080</font></div><div><font face="Lucida Console">workers = 8</font></div><div><font face="Lucida Console">user = swift</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">[pipeline:main]</font></div><div><font face="Lucida Console">pipeline = healthcheck cache tempurl swauth proxy-server</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">[app:proxy-server]</font></div><div><font face="Lucida Console">use = egg:swift#proxy</font></div><div><font face="Lucida Console">allow_account_management = true</font></div><div><font face="Lucida Console">account_autocreate = true</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">[filter:tempurl]</font></div><div><font face="Lucida Console">use = egg:swift#tempurl</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">[filter:swauth]</font></div><div><font face="Lucida Console">use = egg:swauth#swauth</font></div><div><font face="Lucida Console">set log_name = swauth</font></div><div><font face="Lucida Console">super_admin_key = <removed></font></div><div><font face="Lucida Console">default_swift_cluster = gigahost#https://<url>/v1#<a href="http://localhost:8080/v1">http://localhost:8080/v1</a></font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">[filter:healthcheck]</font></div><div><font face="Lucida Console">use = egg:swift#healthcheck</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">[filter:cache]</font></div><div><font face="Lucida Console">use = egg:swift#memcache</font></div><div><font face="Lucida Console">memcache_servers = 127.0.0.1:11211</font></div><div><br></div><div>When creating the tempurl's, even using the swift-temp-url program I get:</div><div><br></div><div><div><font face="Lucida Console">~ $ curl -i "https://<url>/v1/AUTH_224b1001-2c75-444c-aaef-30af13b9154c/000/206.pdf?temp_url_sig=387d79120a591e1cf6f4d4356f5c0a96fb49d202&temp_url_expires=1373438360"</font></div><div><font face="Lucida Console">HTTP/1.1 401 Unauthorized</font></div><div><font face="Lucida Console">Server: nginx</font></div><div><font face="Lucida Console">Date: Wed, 10 Jul 2013 08:21:32 GMT</font></div><div><font face="Lucida Console">Content-Type: text/plain</font></div><div><font face="Lucida Console">Content-Length: 35</font></div><div><font face="Lucida Console">Connection: keep-alive</font></div><div><font face="Lucida Console"><br></font></div><div><font face="Lucida Console">401 Unauthorized: Temp URL invalid</font></div></div><div><br class="webkit-block-placeholder"></div><div>I've even tried running it locally on the proxy-server to localhost:8080, so I'm sure it's not nginx doing any funny stuff.</div><div><br></div><div>Does anybody have any suggestions? I'm pretty lost :(</div><div><br></div><div><br class="webkit-block-placeholder"></div><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Mvh / Best regards</div><div>Morten Møller Riis</div><div>Gigahost ApS</div><div><a href="mailto:mmr@gigahost.dk">mmr@gigahost.dk</a></div><div><br></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>


<br></div></div>_______________________________________________<br>Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br></blockquote></div><br></div></body></html>