3 ms·
Ask HN: Serve static content from serverless AWS lambda function
We have an express+React typescript app that is executed from a serverless endpoint which is intended to ultimately move to AWS lambda.
The React bundle is served as static content along with its css, js etc files.
React app is hosted inside a single serverless project. The same is exposed from serverless.yml config as a function named static-router:
static-router:
handler: src/server.handler
events:
- http: ANY /
- http: ANY /{proxy+}
So, on my local, it works absolutely fine! All the static content along with the index.html are getting served to the browser using serverless-offline
Static content served
However when I push the same to AWS using serverless deploy - all the static content is not getting served. Refer to this link: https://xjfxfyosml.execute-api.ap-south-1.amazonaws.com/dev/
How do I allow serving static content from the Lambda function which were working perfectly on my local?
What is missing here?
- eahefnawy 7y agoMaybe Serverless Components could help? The backend component should be pretty easy for this use case: https://github.com/serverless-components/backend https://github.com/serverless-components/backend
- xameeramir 7y ago@eahefnawy This is not for static pages. This is for web frameworks like express/hapi etc
- dyeje 7y agoSorry, not familiar with this architecture. But isn't the common pattern here to just host the react app on a CDN? Then the serverless backend could just focus on fulfilling API requests instead of assets.
- gtsteve 7y agoThis question is probably best asked on StackOverflow. I can't tell you why this problem is happening but you should consider uploading your static assets to S3, or you'll be paying for compute time when S3 can do it for cheaper or potentially free, and without burning your execution allowance.
- solutionfocus 7y agohost your content on S3 as a website and front it with CloudFront. Use Lambda just for 'api' in your case.
- ac360 7y agohttps://github.com/serverless-components/nextjs https://github.com/serverless-components/nextjs