[英]Postgresql server remote connection
我正在嘗試在ubuntu上設置一個postgresql 9.1服務器,用於遠程訪問數據。 我已經正確安裝了postgres,服務器進程正在運行,我正在嘗試對其進行配置,以便我可以通過Internet從局域網外的其他幾台計算機遠程訪問服務器。
我已經修改了我的pg_hba.conf:
host all all 0.0.0.0 trust
和postgresql.conf:
listen_addresses = '*'
port = 5432
我還修改了我的iptables以接受端口5432上的連接。
當我嘗試在python上使用psycopg2連接時:
conn=psycopg2.connect('host=XX.XX.XX.XX port=5432 dbname=postgres user=myUser password=mypassword')
我收到以下錯誤:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py", line 179, in connect
connection_factory=connection_factory, async=async)
psycopg2.OperationalError: could not connect to server: Connection refused
Is the server running on host "XX.XX.XX.XX" and accepting
TCP/IP connections on port 5432?
我不確定我是否插入了正確的IP地址,我很好奇我將如何確切地知道在這里使用哪個IP地址連接到我的服務器。 我使用運行postgres服務器的計算機的公共IP,但我不確定是否正確。 或者還有其他一步我仍然缺席? 我知道這是不好的安全風格,但目前我想建立一個連接。 我的電腦也在路由器后面,所以我如何專門訪問我的服務器?
任何幫助非常感謝。
你的pg_hba.conf
不應該使用trust
! trust
意味着不需要密碼,我認為這不是你想要的。
這是正確的配置
host all all 0.0.0.0/0 md5
注意/0
落后於0.0.0.0
。
完整的pg_hba.conf
應該是這樣的: -
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 0.0.0.0/0 md5
請注意, trust
僅適用於local
連接。 即對於運行postgresql服務器的機器上運行在localhost IP 127.0.0.1
上的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.