I have an express server deployed on Heroku: <https://server.mydomain.com>

and a Next.js React app also deployed on Heroku: <https://app.mydomain.com>

Both have their SSL certificates automatically configured by Heroku, and when I visit the https domains, they work as expected.

**The problem I have** is that when I visit <http://app.mydomain.com>, it does not redirect to <https://app.mydomain.com>.

All the solutions I've found online point to forcing SSL on the server:

* [this popular question](https://stackoverflow.com/questions/7185074/heroku-nodejs-http-to-https-ssl-forced-redirect) says to check for the `x-forwarded-proto` value:

```
/* At the top, with other redirect methods before other routes */
app.get('*',function(req,res,next){
 if(req.headers['x-forwarded-proto']!='https')
   res.redirect('https://app.mydomain.com'+req.url)
 else
   next() /* Continue to other routes if we're not redirecting */
})

```

* and others suggest using a package like [express-sslify](https://www.npmjs.com/package/express-sslify) or [heroku-ssl-redirect](https://www.npmjs.com/package/heroku-ssl-redirect).

These solutions work fine **for the server requests**, but loading a React client page does not necessarily trigger `app.get()`. Obviously, a React client can run independently of a server.

**So the question is:** How does someone force https for a subdomain Next.js React client app on Heroku? Without using express server methods?