Запуск приложения реакции в HTTPS вместо HTTP - PullRequest
0 голосов
/ 30 января 2019

Я хочу знать, как запустить приложение реагирования, которое было создано с помощью команды create-реагировать-приложение в https вместо HTTP?

1 Ответ

0 голосов
/ 01 февраля 2019

Используйте что-то вроде корневого SSL-сертификата

Создайте ключ

openssl genrsa -des3 -out rootCA.key 2048

С их помощью вы можете создать сертификат, который будет полезен в течение 1024 дней

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem

Откройте доступ к связке ключей на вашем Mac, перейдите в категорию сертификатов и импортируйте файл rootCA.pem, созданный на последнем шаге.Дважды щелкните и в разделе «При использовании этого сертификата» выберите «Всегда доверять»

Создать файл конфигурации OpenSSL

 server.csr.cnf

 [req]
 default_bits = 2048
 prompt = no
 default_md = sha256
 distinguished_name = dn

 [dn]
 C=US
 ST=RandomState
 L=RandomCity
 O=RandomOrganization
 OU=RandomOrganizationUnit
 emailAddress=hello@example.com
 CN = localhost

Создать файл v3.ext для создания сертификата X509 v3.

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = localhost

Создайте ключ сертификата для localhost, используя параметры конфигурации, хранящиеся в server.csr.cnf.Этот ключ хранится в server.key.

openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )

Запрос на подпись сертификата выдается через корневой сертификат SSL, который мы создали ранее для создания сертификата домена для localhost.В результате получается файл сертификата с именем server.crt.

openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext

Теперь вы готовы защитить свой локальный хост с помощью HTTPS.Переместите файлы server.key и server.crt в доступное место на вашем сервере и включите их при запуске сервера.

В приложении Express, написанном на Node.js, вот как вы это сделаете.Убедитесь, что вы делаете это только для вашей локальной среды.Не используйте это в производстве.

var path = require('path')
var fs = require('fs')
var express = require('express')
var https = require('https')

var certOptions = {
  key: fs.readFileSync(path.resolve('build/cert/server.key')),
  cert: fs.readFileSync(path.resolve('build/cert/server.crt'))
}

var app = express()

var server = https.createServer(certOptions, app).listen(443)

Проверьте https://github.com/dakshshah96/local-cert-generator/ для получения более подробных инструкций

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...