Как подключить https в fastify?

Для подключения HTTPS в fastify вам понадобится SSL-сертификат и закрытый ключ. Вы можете получить их от организации, выдавшей вам ваш домен, или сгенерировать их самостоятельно.

1. Сгенерируйте ваш SSL-сертификат и закрытый ключ, если у вас их еще нет. Для этого вы можете воспользоваться инструментом, таким как OpenSSL.

2. Создайте новый файл JavaScript с именем server.js и откройте его.

3. Установите fastify с помощью следующей команды:

npm install fastify

4. Вставьте следующий код в файл server.js:

const fastify = require('fastify')({})

fastify.register(require('fastify-https-redirect'))

fastify.register(function (fastify, options, done) {
  const httpsOptions = {
    key: fs.readFileSync('/path/to/your/private.key'),
    cert: fs.readFileSync('/path/to/your/certificate.crt')
  }

  fastify.register(require('fastify-https'), httpsOptions)

  fastify.get('/', function (req, reply) {
    reply.send({message: 'Hello, world!'})
  })

  done()
})

fastify.listen(3000, function (err, address) {
  if (err) {
    fastify.log.error(err)
    process.exit(1)
  }
  console.log(`Server listening on ${address}`)
})

5. Обратите внимание, что вам необходимо заменить путь к вашему закрытому ключу (/path/to/your/private.key) и вашему сертификату (/path/to/your/certificate.crt) в коде выше.

6. Сохраните изменения в файле server.js.

7. Запустите ваш сервер, выполнив следующую команду:

node server.js

Теперь ваш сервер будет работать на порту 3000, используя HTTPS.

Это весь процесс подключения HTTPS в fastify. Учтите, что в приведенном выше коде не обрабатывается перенаправление HTTP на HTTPS. Если вы хотите, чтобы ваш сервер автоматически перенаправлял соединения HTTP на HTTPS, вы можете использовать плагин fastify-https-redirect, как показано в коде выше.