2017-06-05 77 views
0

如果你这样做在Nginx的:上复制的NodeJS Nginx的proxy_pass +快速

location /apiproxy/ { 
    proxy_pass      https://apidev.site.com/; 
} 

到domain.com/apiproxy/*将传递给apidev.site.com/*所有要求,所以domain.com/apiproxy/foo/bar /将传递给apidev.site.com/foo/bar。

进出口试图复制在了的NodeJS相同的行为与快递和proxy,根据文档:

app.use('/apiproxy/*', proxy('https://apidev.site.com/v1', { 
    proxyReqPathResolver: function(req) { 
     console.log(require('url').parse(req.url).path); 
     return require('url').parse(req.url).path; 
    }})); 

但经过/ apriproxy /松散everithing。任何想法?

回答

0

不知道你是否试过这个,但是如果你不添加*。然后它通过网址。

app.use('/proxy', proxy('http://google.com', { 
    proxyReqPathResolver: function (req) { 
    console.log(require('url').parse(req.url).path); 
    return require('url').parse(req.url).path; 
    } 
})); 

如果我们调用/proxy/abc,然后调用http://google.com/abc