Invalid Host Header when ngrok tries to connect to React dev server
I'm encountering a similar issue and found two solutions that work as far as viewing the application directly in a browser
ngrok http 8080 -host-header="localhost:8080"ngrok http --host-header=rewrite 8080
obviously replace 8080 with whatever port you're running on
this solution still raises an error when I use this in an embedded page, that pulls the bundle.js from the react app. I think since it rewrites the header to localhost, when this is embedded, it's looking to localhost, which the app is no longer running on
Option 1
If you do not need to use Authentication you can add configs to ngrok commands
ngrok http 9000 --host-header=rewrite
or
ngrok http 9000 --host-header="localhost:9000"
But in this case Authentication will not work on your website because ngrok rewriting headers and session is not valid for your ngrok domain
Option 2
If you are using webpack you can add the following configuration
devServer: { disableHostCheck: true}
In that case Authentication header will be valid for your ngrok domain
If you use webpack devServer the simplest way is to set disableHostCheck, check webpack doc like this
devServer: { contentBase: path.join(__dirname, './dist'), compress: true, host: 'localhost', // host: '0.0.0.0', port: 8080, disableHostCheck: true //for ngrok},