#node.js #postgresql #amazon-web-services #amazon-rds
Вопрос:
Я хочу подключить сервер к экземпляру RDS PostgreSQL и получить ошибку 403:
Failed to load resource: the server responded with a status of 403 (Forbidden)
Вот как выглядит экземпляр БД:
Это мой серверный код, который я использую для подключения к базе данных:
const express = require('express');
const { Sequelize, DataTypes, Model } = require('sequelize');
const bodyParser = require('body-parser');
const cors = require('cors');
const config = require('./config');
const path = require('path');
const contacts = require('./contacts');
const app = express();
app.use(express.static('public'));
app.use(cors());
const sequelize = new Sequelize(
'postgres://postgres:postgres@database-7.c12fg7kpjsdj.us-east-1.rds.amazonaws.com:5432/postgres'
);
Группа безопасности VPC находится здесь:
Предоставляется разрешение пользователя IAM:
Что я должен проверить по причинам, по которым я получаю ошибку 403 forbidden?
Комментарии:
1. «403» звучит как ошибка HTTP, но вы не описали никаких HTTP-серверов или клиентов.
2. Ваша группа безопасности разрешает входящий трафик с одного IP-адреса. Это IP-адрес любой машины, на которой выполняется код? Откуда он исходит, локально? Лямбда? Вы уверены, что на самом деле это попытка подключения postgres, которая приводит к этой ошибке?
3. IP-адрес предназначен для машины, которая запускает сервер и пытается подключиться к базе данных. Я не могу, не может быть никакой другой причины для ошибки 403, кроме того, что сервер не может связаться с базой данных.