PostgreSQL에 원격으로 액세스할 수 없습니다.

PostgreSQL에 원격으로 액세스할 수 없습니다.

PostgreSQL 9.2는 Debian에서 사용할 수 있습니다. 내 /etc/postgresql/9.2/main/postgresql.conf파일에는 다음이 포함됩니다.

listen_addresses = '127.0.0.0, 212.49.109.137'
password_encryption = on

"212.49.109.137"은 PostgreSQL을 실행하는 컴퓨터의 IP입니다.

/etc/postgresql/9.2/main/pg_hba.conf포함하다:

host    all         all        85.12.201.202         255.255.255.0  md5

85.12.201.202는 연결을 시도하는 클라이언트의 IP 주소입니다. 다음을 사용하여 연결을 시도합니다.

psql -h 212.49.109.137 -U postgres -d postgis_template

오류가 발생했습니다.

psql: could not connect to server: Timeout
Is the server running on host "212.49.109.137" and accepting
TCP/IP connections on port 5432?

netstat -pln내가 보기 에 :

tcp        0      0 127.0.0.0:5432          0.0.0.0:*               LISTEN      5127/postgres   

답변1

체크리스트:

  • 구성을 변경한 후 서버를 다시 로드/다시 시작합니까?
  • 클라이언트에서 TCP 포트 5432를 전달하도록 방화벽이 구성되어 있습니까?
  • PostgreSQL이 실제로 해당 포트에서 실행되고 있습니까? netstat -tnlp | grep :5432알아보기 위해 사용하세요 . (프로그램 이름을 얻으려면 루트로 실행하십시오)
  • 접근을 차단하는 다른 규칙은 없나요 pg_hba.conf?
  • 오류 로그에 오류가 있습니까?

이제 귀하의 특정 구성을 살펴보니 서브넷 마스크를 잘못된 방식으로 지정한 것 같습니다. 이 시도:

host    all     all     85.12.201.202/32    md5

255.255.255.0 마스크와는 다릅니다. 이 마스크를 사용하면 85.12.201.네트워크의 모든 사람이 연결할 수 있기 때문입니다.

관련 정보