Glype 404 error nginx/0.7.59+ fastcgi

Hi nginx gurus,
I have this weird problem:

After following carefully this tutorial:
http://www.linuxspace.org/archives/1576

I could get my glype script page, but it does not work: The nginx gives
a ‘404 Not Found’ whenever I try to get a url through glype proxy.

You can see the problem here:
http://www.bigheid.info/

Here is my nginx.conf

#user
user www;
#numbers of worker processes
worker_processes 2;

#path to nginx.pid
pid /home/www/bigheid.info/nginx.pid;

events
{
worker_connections 1024;
}

http
{
include mime.types;
default_type application/octet-stream;

#log format
log_format  main  '$remote_addr - $remote_user [$time_local] 

“$request” ’
'$status $body_bytes_sent “$http_referer” ’
‘“$http_user_agent” “$http_x_forwarded_for”’;

sendfile        on;
tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

#compression
gzip on;
gzip_min_length  1100;
gzip_buffers     4 8k;
gzip_types       text/plain;
gzip_comp_level 3;
gzip_proxied any;

#configure virtual server
server {

    #port
    listen       80;

    #server name
    server_name  localhost;

    #coding
    charset utf-8;

   #main directory where is site

root /home/www/bigheid.info/public;

    #LOGS

#------------------------------------------------------------------
access_log /home/www/bigheid.info/log/localhost.access.log;
error_log /home/www/bigheid.info/log/error.log;
access_log /home/www/bigheid.info/log/access.log combined;
#------------------------------------------------------------------
#location
location / {
root /home/www/bigheid.info/public;
index index.html index.htm index.php;
}

    error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }



    # pass the PHP scripts to FastCGI server listening on 

127.0.0.1:9000
#PHP + CGI + some parametrs
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
/home/www/bigheid.info/public/$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

    }

And my fastcgi_params:

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

PHP only, required if PHP was built with --enable-force-cgi-redirect

fastcgi_param REDIRECT_STATUS 200;

Let me know if you need to know my other configurations.

Actually, nginx is very little known among proxy community (take a look
at proxy.org and you’ll see).

Your clues are very much appreciated. I promise to spread the word if
you could solve this nasty problem.
Thank you,
Zereshk

Posted at Nginx Forum:

Thanks Rob, for your reply.
I turn off Path info URL encoding option on glype, but it made glype
dysfunctional. Then, I tried to cofigure nginx-0.8.33
–with-fastcgi_split_path_info but I receive

./configure: error: invalid option “–with-fastcgi_split_path_info”

I really appreciate it if you can give me further instructions, ideally
a sample ./cinfigure and nginx.conf file.

Cheers

Posted at Nginx Forum:

Go into your glype admin page and turn off Path info URL encoding
option or setup Path info via
http://wiki.nginx.org/NginxHttpFcgiModule#fastcgi_split_path_info

Sent from my iPhone

Well, by dysfunctional, I mean when I uncheck the Encode URL option or
make the $CONFIG[‘path_info_urls’] = false in the setting, glype does
not render urls anymore. The ‘Go’ Page becomes Idle.

I am still straggling with the issue. If you could you please post some
samples of nginx.conf and a vhost it would be a great help, because I
am really noob about nginx and Linux in general.

Cheers

Posted at Nginx Forum:

fastcgi_path_info is built into the FastCGI module. So you just have to
add the configuration settings.

How did it make Glype dysfunctional? i had the reverse problem and that
was when i attempted to use Path info it would always redirect to the
wrong location.
it works fine for me using typical php location block with
fastcgi_params.

Rob

i just use a standard php config location block. But you can see the
main details of my config at
http://pastie.org/private/75qwumypphpjidroocqa
*note that i have glyte setup as a subdirectory on my sever so you
access it via http://domain.com/glype/

V/r,
Rob

BTW, any ideas to tweak the nginx configs to have the best performance
on a 1GB RAM but busy VPS running several glype proxy sites?

Posted at Nginx Forum:

Thanks so muchRob. Following your helpful config files and this nice,
noob-friendly tutorial:

at last I could manage to get nginx running glype.

I put my working config files here just in case they can help others to
bang their head on the issue (use Rob’s for fastcgi_params):

nginx.conf

user www-data www-data;
worker_processes 4;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

sendfile        on;
tcp_nopush      on;
tcp_nodelay     off;
keepalive_timeout  5;

gzip  on;
gzip_comp_level 2;
gzip_proxied any;
gzip_types      text/plain text/css application/x-javascript 

text/xml application/xml $

 include /usr/local/nginx/sites-enabled/*;
 include         /usr/local/nginx/conf/fastcgi_params;

}

vhost1 (example.com)

server {
listen 80;
server_name www.example.com;
rewrite ^/(.*) http://example.com/$1 permanent;
}

server {
listen 80;
server_name example.com;
access_log /home/public_html/example.com/log/access.log;
error_log /home/public_html/example.com/log/error.log;

                    root   /home/public_html/example.com/public/;
                    index  index.html index.php;
                    autoindex on;

        # pass the PHP scripts to FastCGI server listening on 

127.0.0.1:9000

         location ~ ^.+\.php$    {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
                    }

            location ~* ^.+\.(jpg|jpeg|gif|png)$ {
                    access_log   off;
                    expires      30d;
            }

   }

As you see these are very basic files, but it took me one week to get
them up and running.

Another thing worth noting is that when I used a tweaked version of
Glype which happened to lacked main.js, I encountered 404 error (I guess
it was the main reason at the first place!) However, apache2 did not
complaint about the lacking file it and runs the very same tweaked
script.

Now down to optimisation. Hope it does not suffer from bloating
behaviours of apache :slight_smile:

Posted at Nginx Forum:

If you have store cookies on the server turned off then you might need
to increase
Module ngx_http_core_module or
after a little while of browsing and the cookie requests gets larger
then 1k you will start receiving some bad request errors from NginX. The
other solution is just to store them on the server if you can.

Also if you get lots of large pages you can tweak
Module ngx_http_fastcgi_module to prevent
them from being buffered to disk potentially causing high IO.

v/r,
Rob