url - nginx rewrites paths proxied to node.js -


i'm trying make nodejs website/server download website when user goes url looking this: http://example.com/test/http://google.com

the problem nginx rewriting req.url /test/http:/google.com when should /test/http://google.com

app.js:

var express = require('express'); var http = require('http'); var app = express();  app.configure(function(){     app.set('port', 8080);     app.set('views', __dirname + '/app/server/views');     app.set('view engine', 'jade');     app.use(express.logger('dev'));     app.use(express.bodyparser());     app.use(express.cookieparser());     app.use(express.session({ secret: 'super-duper-secret-secret' }));     app.use(express.methodoverride());     app.use(require('stylus').middleware({ src: __dirname + '/app/public' }));     app.use(express.static(__dirname + '/app/public'));      app.enable('trust proxy')  });  app.configure('development', function(){     app.use(express.errorhandler()); });  require('./app/server/router')(app);  http.createserver(app).listen(app.get('port'), 'localhost', function(){     console.log("express server listening on port " + app.get('port')); }) 

router.js:

app.get('/test/*', function(req, res) {     console.log("req.url:");     console.log(req.url);     res.send('200', req.url); }); 

example.com file in /etc/nginx/sites-enabled

server {         server_name example.com;         access_log /var/log/nginx/example.com.log;         # pass request node.js server correct headers , more can added, see nginx config options         location / {                 proxy_set_header x-real-ip $remote_addr;                 proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;                 proxy_set_header host $http_host;                 proxy_set_header x-nginx-proxy true;                 proxy_pass http://127.0.0.1:8080;                 proxy_redirect off;         } } 

is there way make nginx not rewrite does?

maybe (untested code) you're after:

app.get('/test/:url', function(req, res) {     console.log("req.params.url:", req.params.url);     res.send('200', req.params.url); }); 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

c++ - Clear the memory after returning a vector in a function -

erlang - Saving a digraph to mnesia is hindered because of its side-effects -