我在Ubuntu A主機使用 ping , telnet 都可連到 B 主機
以及 Ubuntu A 主機的 iptables 與 ufw 的配置:
接著,這是 Ubuntu B 主機的 postgresql 狀態
且Ubuntu B 主機的 pg_hba.conf 有設置讓Ubuntu A主機的IP連線,以及postgresql.conf的listen_addresses = '*' 也設置好了
但我在Ubuntu A主機使用 psql 就是連不到,且我 Container 的應用系統也連不到
而且這看起來有建立連線,但就是無法進入postgresql中,也不會寫入任何LOG
想請問各位,這是什麼問題啊,我已經處理這問題處理了15天了,我還重新安裝postgresql,也沒用....
pg_hba.conf 有修改要記得reload喔。
測試錯誤可以pg_hba.conf 對你的A的IP先改成 trust,
Ubuntu A ufw暫時關,
再來測試看看。先全開,由外而內一道一道緊縮直到找到不通的原因。
PostgreSQL 如果有連線,即使失敗也是有錯誤跟失敗原因(包含是因為pg_hba.conf規則阻擋都會跟你說是哪一條),PostgreSQL若完全沒log代表碰都沒碰到可能性比較高。
你看到的錯誤訊息是
connect_timeout=30來的,你任意指向不存在的IP,也是一樣的結果。
真的有連上但有錯誤,也不用到30秒的,而且會提示錯什麼。
判斷你的問題偏向網路成分比較高。