У меня есть веб-сайт, созданный с использованием переднего концаactjs и экспресс-сервера в качестве внутреннего, поддерживающего связь через http.Теперь мне нужно перейти на https.Где мне нужно внести изменения?
Насколько я понимаю, мне в основном нужно изменить сервер экспресс-доставки, а во внешнем интерфейсе переключить только URL-адреса на https://url. Я реализовал стандартную конфигурацию сервера экспресс-https.
Пыльниккод моего экспресс-сервера:
const express = require('express')
const fs = require('fs')
const https = require('https')
const cors = require('cors')
const bodyParser = require('body-parser')
const passport = require('passport')
const localSignupStrategy = require('./passport/local-signup')
const localLoginStrategy = require('./passport/local-login')
const authRoutes = require('./routes/auth')
const productsRoutes = require('./routes/products')
const path = require('path')
// db
let env = process.env.NODE_ENV || 'development'
let settings = require('./config/settings')[env]
const app = express()
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.use(passport.initialize())
app.use(cors())
// db
require('./config/database')(settings)
passport.use('local-signup', localSignupStrategy)
passport.use('local-login', localLoginStrategy)
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept')
next()
})
app.use(express.static(path.join(__dirname, '../public')))
// routes
app.use('/auth', authRoutes)
app.use('/products', productsRoutes)
let options = {
key: fs.readFileSync('privatekey.pem'),
cert: fs.readFileSync('certificate.pem')
}
https.createServer(options, app).listen(settings.httpsPort, () => {
console.log(`Server running on port ${settings.httpsPort}...`)
})
При локальном тестировании я получаю эту ошибку:
"Не удалось загрузить ресурс: net :: ERR_CONNECTION_REFUSED"
когда я звоню на сервер, и я теряюсь в том, что именно мне это говорит.Я не уверен, что это сертификаты, серверная конфигурация или клиент реакции, и я обычно теряюсь в том, как думать о решении проблемы.
Буду признателен за любые рекомендации.