Re: [galaxy-dev] This link may not be followed from within Galaxy using nginx and upload module.

2012-11-16 Thread Nate Coraor
On Nov 16, 2012, at 1:15 AM, Marcelo Timmerman wrote:

 Any idea would be appreciated. I get a This link may not be followed from 
 within Galaxy after following these steps:
 
 Get Data - Upload File - File Format:
 Type lpe - select lped from autocomplete list.
 
 I've compiled latest stable nginx in CentOS 6.3 with upload module 
 http://www.grid.net.ru/nginx/upload.en.html
 Galaxy being started by galaxy user
 nginx started by root user
 (this scenario reports a nginx worker process owned by galaxy)
 I'm serving Galaxy at a subdirectory as explained in 
 http://wiki.galaxyproject.org/Admin/Config/Performance/nginx%20Proxy
 I'm not using External user authentication
 
 I suspect this is a problem in nginx.conf upload module directives.
 Do you know if it's ok to change 
 
 location /_x_accel_redirect/ {
 
 with
 
 location /galaxy/_x_accel_redirect/ {
 
 ?

Hi Marcelo,

For the moment, we can ignore /_x_accel_redirect/, since that is only used for 
downloading data from Galaxy.

 Besides I couldn't find an _upload_done directory. 
 Do you have an _upload_done or _upload directory? 
 Where it's located?

This is an internal path used by nginx and is not exposed.

 
 This is my nginx.conf
 
 server {
... more directives
 location /galaxy {
 proxy_pass http://galaxy_app;
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 location /galaxy/static {
 alias /home/galaxy/galaxy-dist/static;
 expires 24h;
 }
 ... # more directives 
 location /galaxy/_x_accel_redirect/ {
 internal;
 alias /;
 }
 location /galaxy/_upload {
 upload_store /home/galaxy/galaxy-dist/database/tmp/upload_store;
 upload_pass_form_field ;
 upload_set_form_field __${upload_field_name}__is_composite 
 true;
 upload_set_form_field __${upload_field_name}__keys name path;
 upload_set_form_field ${upload_field_name}_name 
 $upload_file_name;
 upload_set_form_field ${upload_field_name}_path 
 $upload_tmp_path;
 upload_pass_args on;
 upload_pass /_upload_done;
 }
 location /galaxy/_upload_done {
 set $dst /tool_runner/index;
 if ($args ~ nginx_redir=([^]+)) {
 set $dst $1;
 }
 rewrite  $dst;
 }

The problem might be here.  Upon upload completion, you redirect to 
/_upload_done, but the path set up to handle those requests is 
/galaxy/_upload_done.

The other potential problem is that if you haven't set 'nginx_upload_path' in 
universe_wsgi.ini to '/galaxy/_upload', then the tool form is POSTing to the 
wrong path.

You should be able to use /galaxy/_upload and /galaxy/_upload_done.  However, 
for this to work, you will need to change 'upload_pass' to 
'/galaxy/_upload_done' above and set 'nginx_upload_path' in universe_wsgi.ini 
to '/galaxy/_upload'.

--nate

 }
 
 Cheers
 ___
 Please keep all replies on the list by using reply all
 in your mail client.  To manage your subscriptions to this
 and other Galaxy lists, please use the interface at:
 
  http://lists.bx.psu.edu/


___
Please keep all replies on the list by using reply all
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/


[galaxy-dev] This link may not be followed from within Galaxy using nginx and upload module.

2012-11-15 Thread Marcelo Timmerman

Any idea would be appreciated. I get a This link may not be followed from 
within Galaxy after following these steps:

Get Data - Upload File - File Format:
Type lpe - select lped from autocomplete list.

I've compiled latest stable nginx in CentOS 6.3 with upload module 
http://www.grid.net.ru/nginx/upload.en.html
Galaxy being started by galaxy user
nginx started by root user
(this scenario reports a nginx worker process owned by galaxy)
I'm serving Galaxy at a subdirectory as explained in 
http://wiki.galaxyproject.org/Admin/Config/Performance/nginx%20Proxy
I'm not using External user authentication

I suspect this is a problem in nginx.conf upload module directives.
Do you know if it's ok to change 

location /_x_accel_redirect/ {

with

location /galaxy/_x_accel_redirect/ {

?

Besides I couldn't find an _upload_done directory. 
Do you have an _upload_done or _upload directory? 
Where it's located?

This is my nginx.conf

server {
   ... more directives
location /galaxy {
proxy_pass http://galaxy_app;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /galaxy/static {
alias /home/galaxy/galaxy-dist/static;
expires 24h;
}
... # more directives 
location /galaxy/_x_accel_redirect/ {
internal;
alias /;
}
location /galaxy/_upload {
upload_store /home/galaxy/galaxy-dist/database/tmp/upload_store;
upload_pass_form_field ;
upload_set_form_field __${upload_field_name}__is_composite true;
upload_set_form_field __${upload_field_name}__keys name path;
upload_set_form_field ${upload_field_name}_name 
$upload_file_name;
upload_set_form_field ${upload_field_name}_path 
$upload_tmp_path;
upload_pass_args on;
upload_pass /_upload_done;
}
location /galaxy/_upload_done {
set $dst /tool_runner/index;
if ($args ~ nginx_redir=([^]+)) {
set $dst $1;
}
rewrite  $dst;
}
}

Cheers
  ___
Please keep all replies on the list by using reply all
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/

[galaxy-dev] This link may not be followed from within Galaxy.

2012-04-16 Thread Eli Reuveni

Hi,

I am getting the error This link may not be followed from within Galaxy. When 
I try to upload a data file to my local galaxy.
I have traced back the error to root.py (RootController class).

Could anyone help me with that?

Best
___
Please keep all replies on the list by using reply all
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/

Re: [galaxy-dev] This link may not be followed from within Galaxy.

2012-04-16 Thread Nate Coraor
On Apr 16, 2012, at 7:13 AM, Eli Reuveni wrote:

  
 Hi,
  
 I am getting the error “This link may not be followed from within Galaxy.” 
 When I try to upload a data file to my local galaxy.
 I have traced back the error to root.py (RootController class).
  
 Could anyone help me with that?

Hi Eli,

My initial guess would be that you have enabled the nginx upload settings but 
that there is a misconfiguration with the upload module.  If this is not the 
case, could you provide the URL that your browser is accessing (you should be 
able to find it in the Galaxy server log) to receive this error, and some 
details about whether you are running behind a proxy server, with a prefix, 
etc.?

Thanks,
--nate

  
 Best
 ___
 Please keep all replies on the list by using reply all
 in your mail client.  To manage your subscriptions to this
 and other Galaxy lists, please use the interface at:
 
  http://lists.bx.psu.edu/


___
Please keep all replies on the list by using reply all
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

  http://lists.bx.psu.edu/