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:
http://forum.nginx.org/read.php?2,50781,50781#msg-50781
on 2010-02-05 06:34
on 2010-02-05 14:58
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
on 2010-02-06 06:33
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: http://forum.nginx.org/read.php?2,50781,51235#msg-51235
on 2010-02-06 09:54
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
on 2010-02-06 10:22
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: http://forum.nginx.org/read.php?2,50781,51299#msg-51299
on 2010-02-06 19:24
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
on 2010-02-07 11:50
Thanks so muchRob. Following your helpful config files and this nice,
noob-friendly tutorial:
http://guvnr.com/web/web-dev/install-nginx-not-apache/
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 :)
Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,50781,51662#msg-51662
on 2010-02-07 11:54
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: http://forum.nginx.org/read.php?2,50781,51664#msg-51664
on 2010-02-07 18:27
If you have store cookies on the server turned off then you might need to increase http://wiki.nginx.org/NginxHttpCoreModule#client_header_buffer_size 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 http://wiki.nginx.org/NginxHttpFcgiModule#fastcgi_buffers to prevent them from being buffered to disk potentially causing high IO. v/r, Rob
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.