Reputation: 39
I'm trying to deploy my Next.js app on VPS Windows 10 with Plesk panel and Windows IIS.
The problem is I created domain name from Plesk panel and it works fine. And I have localhost for Next.js app on port 3000 I'm trying to connect to localhost:3000
with the domain using IIS rewrite Reverse Proxy
IIS rewrite Reverse Proxy:
But it gives me internal server error 500:
I tried this on React.js and Next.js, and Next.js with Express custom server. Still the same error.
But when I try with Vue.js or Node.js express server, it works just fine.
And when I open port like this domain.com:3000
it also works with react and next.
What can I do?
Upvotes: 2
Views: 2676
Reputation: 39
After searching for a while I found the solution problem is the iis can't use Url Rewrite proxy if you using gzip and Next.js provides gzip compression to compress rendered content and static files so to fix this error you need to turn gzip off or enable gzip on iis.
If you want to disable the gzip on next js follow this https://nextjs.org/docs/api-reference/next.config.js/compression
If you want to using gzip enable gzip on iis this wll help you to using gzip
Here I found the solution: https://learn.microsoft.com/en-us/archive/blogs/friis/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52-status-codes
Upvotes: 2