본문 바로가기
Develop/Database

[PostgreSQL] 외부접속 가능하게 설정하기

by 코딩의성지 2021. 8. 2.

오늘은 PostgreSQL 에서 외부에서 접속이 가능하도록 하는 설정을 정리해두려고 한다.

 

혹시 설치하는 방법이 궁금하면 아래의 링크를 보고 따라해보면 금방 알수 있다.

https://devkingdom.tistory.com/266

먼저 해줘야할게 postgreSQL의 기본 포트인  5432 방화벽 포트를 개방해줘야한다.

firewall-cmd --permanent --zone=public --add-port=5432/tcp
firewall-cmd --reload

 

방화벽을 열고나면 두가지 설정파일의 정보를 변경해줘야한다. db같은 경우에는 특정 아이피만 접속하게 해주는게 맞는데, 실습이니... 전체 구간에 대해 접속이 가능하도록 우선 바꿔주려 한다.

 

다음은 postgre에 접속하여 data 디렉토리의 위치를 찾아보자.

postgres=# show data_directory;
   data_directory    
---------------------
 /var/lib/pgsql/data
(1 row)

 

해당 위치로가서 우선 vi명령어를 이용해서 postgresql.conf 파일을 열어보자.

그리고 listen_address 로 검색해보면 

이렇게 주석으로 localhost 가 넣어져있는데 여기 * 를 넣어주자.

listen_addresses = '*'

 

다음은 보안설정을 변경해주어야한다. 보안 설정 파일은 pg_hba.conf 파일인데, 쭉 내리다 보면 아래의 정보가 보일것이다.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            ident

 

해당 정보를 아래와 같이 수정해주자.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             0.0.0.0/0               md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            ident

이렇게 설정해 준뒤에 시스템을 재시작 해주자.

sudo systemctl restart postgresql.service

 

반응형

댓글