Invalid Host Header when ngrok tries to connect to React dev server Invalid Host Header when ngrok tries to connect to React dev server reactjs reactjs

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},