连接到 AWS DocumentDB"/>
将 Payload CMS 连接到 AWS DocumentDB
我有以下用于尝试使用 TLS 和证书连接到 DocumentDB 的 Payload CMS 代码:
import express from 'express'
import nodemailerSendgrid from 'nodemailer-sendgrid'
import payload from 'payload'
import 'dotenv/config'
// eslint-disable-next-line
require('dotenv').config()
const app = express()
// Redirect root to Admin panel
app.get('/', (_, res) => {
res.redirect('/admin')
})
const sendGridAPIKey = process.env.SENDGRID_API_KEY
const sendgridConfig = {
transportOptions: nodemailerSendgrid({
apiKey: sendGridAPIKey,
}),
}
const start = async (): Promise<void> => {
const sslCertPath = `${process.env.RDS_CA_LOCATION}`
// Initialize Payload
await payload.init({
secret: process.env.PAYLOAD_SECRET,
mongoURL: `mongodb://${process.env.MONGODB_USERNAME}:${process.env.MONGODB_PASSWORD}@${
process.env.MONGODB_HOST
}:${process.env.MONGODB_PORT}?retryWrites=true&w=majority&tls=${
process.env.MONGODB_USE_SSL ? 'true' : 'false'
}`,
express: app,
email: {
fromName: 'Payload CMS',
fromAddress: '[email protected]',
...sendgridConfig,
},
mongoOptions:
process.env.MONGODB_USE_SSL === 'true'
? {
tls: true,
tlsCAFile: sslCertPath,
}
: {},
onInit: () => {
payload.logger.info(`Payload Admin URL: ${payload.getAdminURL()}`)
},
})
// Add your own express routes here
app.listen(process.env.PORT, async () => {
payload.logger.info(`Server listening on port ${process.env.PORT}`)
})
}
start()
在 Payload CMS 中使用 TLS CA 连接 mongodb 的正确方法是什么?
非常感谢任何建议。
回答如下:更多推荐
将 Payload CMS 连接到 AWS DocumentDB
发布评论