The problem seems to be in the lack of authentication by the request sent by IGV. The galaxy instance is set to require a username and password with "require_login = True" in universe_wsgi.ini, which means that when IGV attempts to download the BAM file at http://example.org/galaxy/display_application/e2132aef71b11dbf/igv_bam/local_default/aaaaaaaaaaaaaaaa/data/galaxy_e2132aef71b11dbf.bam, galaxy redirects to the login page.

I tried to remove the authentication requiements with the apache config (as per https://sites.google.com/site/princetonhtseq/tutorials/visualization-with-galaxy-and-igv/igv-as-a-display-application-in-galaxy):

        <LocationMatch display_application/[a-zA-Z0-9]+/igv.*>
                RequestHeader set REMOTE_USER igv_display@example.org
                Satisfy Any
                Order deny,allow
                Allow from all
        </LocationMatch>

But it didn't help.
Commenting out the "require_login = True" line allows IGV to connect and download the bam file without issue.

I've now got IGV crashing when trying to access this BAM file, but that's probably a question for their list.
-r



On Fri, Jun 22, 2012 at 2:16 PM, Rob Syme <rob.syme@gmail.com> wrote:
Sorry, the subject should read "mistakenly routed to root". The question still stands.
-r


On Fri, Jun 22, 2012 at 2:10 PM, Rob Syme <rob.syme@gmail.com> wrote:
Galaxy type: local

I'm trying to get IGV to download files served from the galaxy instance through "display_application". 
When IGV makes a request for the BAM file, it is re-routed to root like so:

--2012-06-22 13:58:00--  http://example.org/galaxy/display_application/e2132aef71b11dbf/igv_bam/local_default/cc7ba224ab9e7b70/data/galaxy_e2132aef71b11dbf.bam
Connecting to example.org:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: /galaxy/root?app_action=data&user_id=cc7ba224ab9e7b70&app_name=igv_bam&link_name=local_default&action_param=galaxy_e2132aef71b11dbf.bam&dataset_id=e2132aef71b11dbf [following]
--2012-06-22 13:58:00--  http://example.org/galaxy/root?app_action=data&user_id=cc7ba224ab9e7b70&app_name=igv_bam&link_name=local_default&action_param=galaxy_e2132aef71b11dbf.bam&dataset_id=e2132aef71b11dbf
Reusing existing connection to example.org:80.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'galaxy_e2132aef71b11dbf.bam.1'

    [ <=>                                                                                                                             ] 27,581      --.-K/s   in 0s      

2012-06-22 13:58:00 (146 MB/s) - 'galaxy_e2132aef71b11dbf.bam.1' saved [27581]

Giving us a text/html page rather than the BAM file.

I see that I'm not the first person to run into this: http://lists.bx.psu.edu/pipermail/galaxy-dev/2011-December/007901.html but I'm still not really sure how to solve the problem.

I'm no sysadmin, so my apache config skills are very patchy. My config is up at https://gist.github.com/2970592. Any help would be very much appreciated.

Rob Syme

PhD Student
Curtin University