В Next.js - этот сайт не может обеспечить безопасное соединение - PullRequest
0 голосов
/ 20 мая 2019

Я использую Next js и сервер Express.

Когда приложение работает, я получаю следующую ошибку:

Этот сайт не может обеспечить безопасное соединение

localhost отправил неверный ответ.

ERR_SSL_PROTOCOL_ERROR

Как избежать этой проблемы?

package.json:

"scripts": {
    "dev": "node ./src/index.js",
    "build": "next build ./client",
    "start": "NODE_ENV=production node ./src/index.js",
    "test": "nyc --reporter=html --reporter=text mocha --timeout 15000 --reporter mochawesome --exit",
    "lint": "eslint '**/*.{js,jsx}' --quiet",
    "format": "prettier --write '**/*.{js,jsx,css,scss}'"
  },

server.js

const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();

app.prepare().then(() => {
  const server = express();

  server.use(bodyParser.json()); // support json encoded bodies
  server.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies

  const forceHttps = process.env.FORCE_HTTPS !== 'false';
  if (forceHttps) {
    // Forcing redirect to HTTPS
    server.use((req, res, cb) => {
      if (!/https/.test(req.protocol) && req.headers['x-forwarded-proto'] !== 'https') {
        res.redirect(`https://${req.headers.host}${req.url}`);
      } else {
        cb();
      }
    });
  }

  server.get('*', (req, res) => handle(req, res));

  server.listen(port, (err) => {
    if (err) {
      logger.error('something bad happened', err);
    } else {
      logger.info(`> Ready on http://localhost:${port}`);
    }
  });
});
```

...