gpt4 book ai didi

javascript - 单个服务器中的多个 ssl 域

转载 作者:行者123 更新时间:2023-11-30 06:21:46 25 4
gpt4 key购买 nike

我使用 digitalocean 来托管 2 个 node.js 应用程序,一个正在暂存,一个正在生产。两者都需要 ssl,我的服务器上有证书。但是我在为两者运行 https 时遇到问题。

//socket io config
const server = require('http').createServer(app)
let io = require('socket.io')(server)
if (process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'staging') {

let api_domain, https_port
if (process.env.NODE_ENV === 'production') {
api_domain = "api.example.co"
https_port = 443
} else if(process.env.NODE_ENV === 'staging') {
api_domain = "api-staging.example.co"
https_port = 4431 //this is not working
}

const credentials = {
key: fs.readFileSync(
'/etc/letsencrypt/live/' + api_domain + '/privkey.pem',
'utf8'
),
cert: fs.readFileSync(
'/etc/letsencrypt/live/' + api_domain + '/cert.pem',
'utf8'
),
ca: fs.readFileSync(
'/etc/letsencrypt/live/' + api_domain + '/chain.pem',
'utf8'
)
}

const httpsServer = https.createServer(credentials, app)
//socket io config
io = require('socket.io')(httpsServer)
httpsServer.listen(https_port, () => {
console.log('HTTPS Server started on: ' + port)
})
} else {
//localhost
server.listen(port, () => {
console.log('HTTP Server started on: ' + port)
})
}

如何正确配置端口?

最佳答案

我建议不提供 HTTPS 使用 NodeJS。使用 nginx 作为反向代理并提供 https 支持是一个更好的主意。

只需在 nginx 中创建两个带有 ssl 证书和 proxy_pass 的 vhost 到您的 nodejs 应用。

关于javascript - 单个服务器中的多个 ssl 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52714469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com