![PostgreSQL에 원격으로 액세스할 수 없습니다.](https://linux55.com/image/33658/PostgreSQL%EC%97%90%20%EC%9B%90%EA%B2%A9%EC%9C%BC%EB%A1%9C%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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.
네트워크의 모든 사람이 연결할 수 있기 때문입니다.