s3-proxy icon indicating copy to clipboard operation
s3-proxy copied to clipboard

Express route is taken as s3 route part.

Open fdorantesm opened this issue 6 years ago • 3 comments

Hi, Von.

I solved this issue using req.params[0] instead req.originalUrl but i can't' make test pass for 404 error.

fdorantesm avatar Jul 12 '19 19:07 fdorantesm

Unorthodox solution:

req.originalUrl = req.originalUrl.replace('static', '')
app.get('/static/*', (req, res, next) => {
    req.originalUrl = req.originalUrl.replace(process.env.S3_PROXY_PATH, '')
    return s3Proxy({
      bucket: process.env.AWS_S3_BUCKET,
      accessKeyId: process.env.AWS_S3_ACCESS_KEY_ID,
      secretAccessKey: process.env.AWS_S3_SECRET_ACCESS_KEY
    })(req, res, next)
  })

fdorantesm avatar Jul 16 '19 14:07 fdorantesm

Same here. Except I placed the logic into middleware that is run immediately before the proxy.

ConnorSinnott avatar Sep 03 '19 19:09 ConnorSinnott

FYI - you can also make it a little simpler by using a dedicated sub-app for your proxy:

So, something like:

var proxy = express();
proxy.get('/*', s3Proxy({
  bucket: process.env.AWS_S3_BUCKET,
  accessKeyId: process.env.AWS_S3_ACCESS_KEY_ID,
  secretAccessKey: process.env.AWS_S3_SECRET_ACCESS_KEY
 }));
app.use("/static", proxy);

mlasevich avatar Nov 23 '19 01:11 mlasevich