【PostgreSQL】no pg_hba.conf entry for hostというエラーの対処法

【PostgreSQL】no pg_hba.conf entry for hostというエラーの対処法

くるみ

no pg_hba.conf…っていうエラー出たんだけど
というわけで今回は

  • 「no pg_hba.conf entry for host」というエラーが消せず困っている

という方に向けて「no pg_hba.conf entry for hostの対処法」をまとめました。

ブログ主の備忘録代わりでもありますが参考になれば幸いです⸝⸝- ̫ -⸝⸝

no pg_hba.conf entry for hostの対処法

結論

早速結論から。

const sequelize = new Sequelize(
  'データベース名',
  'ロール名',
  'パスワード',
  {
    host: 'ホスト名',
    dialect: 'postgres',
    dialectOptions: {//以下を追加
      ssl: {
        require: true,
        rejectUnauthorized: false
      }
    }
  });

以上のように変更してあげるとエラーは成仏してくれました。8行目以降の部分です。

no pg_hba.conf entry for hostの原因

肝心な事はエラーメッセージの最後にちゃんと載っていました。

そう「SSL off」の箇所です。
つまりSSL接続を有効にしてあげればよいとのこと。

案外単純じゃん!

くるみ

「SSL off」だけだと解決しない場合もある

dialectOptions: {
  ssl: true
}

しかし上記のようにSSLをtrueにするだけで解決しない場合もあるようで、「rejectUnauthorized: false」も必要になってくるとのこと。

詳しくは分かりかねますが、「rejectUnauthorized」はSSL証明書云々の設定だそうです。
参考 sequelize connectionerror self signed certificatestack overflow ちなみにブログ主の場合はrequireをtrueにしただけだとエラーのままでした。

まとめ

以上、PostgreSQLで「SSL of」や「no pg_hba.conf entry for host」とエラーが出た時の対処法でした。

参考になれば幸いです!では⸝⸝- ̫ -⸝⸝

コメントを残す

この記事を書いた人
おはようポテトのプロフィール画像
おはようポテト

22年4月から自社開発企業のWebエンジニアとして働く大学生。このサイトでは主にプログラミングやWordPressカスタマイズについて発信しています。他に運営しているのは宅配冷凍弁当の特化ブログなど。お問い合わせはこちらよりどうぞ。