主机“<ip address>”、用户“<db user>”、数据库“postgres”的pg_hba.conf条目,没有加密,如何解决这个问题?

问题描述 投票:0回答:1

我正在尝试连接到 AWS RDS 上托管的 postgres 数据库。但不知何故我收到了下面提到的错误。 主机“103.215.537.148”、用户“dbmasteruser”、数据库“postgres”的 pg_hba.conf 条目,无加密

我正在使用 postgres 15.2

我尝试在互联网上检查,但我不确定如何更改 aws rds 上的 pg_hba.conf 文件。

我尝试将数据库连接到 ec2 并设置入站规则,但没有任何效果。

感谢您的帮助。

    import WebSocket from 'ws';
    import PGPubsub from 'pg-pubsub';
    import { db } from '../../config';

    const initializeWebSocket = async (server: any) => {
      const wss = new WebSocket.Server({ server });

      const connectionString =
        process.env.NODE_ENV === 'development'
          ? db.dev.DB_URL
          : db.production.DB_URL;
      console.log('_____', process.env.NODE_ENV, '______ws');

      const pgClient = new PGPubsub(
        'postgres://dbmasteruser:[email protected]:5432/postgres',
        { log: console.log },
      );


      const channel = 'users_insert';

      await pgClient.addChannel(channel, function (channelPayload) {
    
        console.log(channelPayload, 'channnel run is ther some insersion');
        wss.clients.forEach((client) => {
          if (client.readyState === WebSocket.OPEN) {
            client.send('Data in the database has changed');
          }
        });
      });

      const matchChannel = 'match_update';
      await pgClient.addChannel(matchChannel, function (channelPayload) {
        wss.clients.forEach((client) => {
          if (client.readyState === WebSocket.OPEN) {
            client.send('Data in the database has changed');
          }
        });
      });
      const res = await pgClient.publish(channel, { hello: 'world' });
  
    export default initializeWebSocket;

    import Logger from './core/Logger';
    import { port } from './config';
    import app from './app';
    import http from 'http';
    import WebSocket from './routes/webSocket/webSocketServer';
    console.log('hii server');

    const server = http.createServer(app);

    WebSocket(server);

    server
      .listen(port, () => {
        Logger.info(`server running on port : ${port}`);
      })
      .on('error', (e) => Logger.error(e));
        
postgresql amazon-rds
1个回答
0
投票

该错误消息表明 PostgreSQL 连接设置存在问题。解决问题:

验证 AWS RDS 安全组是否允许来自应用程序 IP 地址的入站流量。

验证您的客户端是否配置为使用 SSL(如果您的 RDS 实例需要)。

检查您的 RDS 终端节点、端口、用户名和密码是否准确。

确保您的 RDS 实例包含指定的“postgres”数据库。

验证 RDS 实例的“dbmasteruser”权限。

检查 AWS RDS 日志并留意连接问题。

验证 PostgreSQL 15.2 是否与您的客户端库兼容。

检查防火墙问题和网络访问。

再次验证环境变量是否有错误或错误值。

希望它有助于解决您的问题:)

© www.soinside.com 2019 - 2024. All rights reserved.