반응형
PostgreSQL은 기본적으로 보안을 위해 **로컬 연결(localhost)**만 허용하도록 설정되어 있습니다. 외부 IP에서 PostgreSQL 데이터베이스에 연결하려면 다음 설정을 추가해야 합니다.
1. pg_hba.conf 파일 수정
pg_hba.conf는 PostgreSQL의 인증 방식을 정의하는 설정 파일입니다. 외부 IP에서 접근을 허용하려면 아래와 같은 설정을 추가해야 합니다.
- pg_hba.conf 경로: PostgreSQL 설정 디렉터리에서 확인할 수 있습니다. 예:
C:\Program Files\PostgreSQL\17\data\pg_hba.conf
- 설정 추가:
# 모든 IPv4 주소 허용 (보안상 비추천)
host all all 0.0.0.0/0 md5
# 특정 네트워크 대역만 허용 (추천)
host all all 192.168.0.0/24 md5
설명:
- 0.0.0.0/0: 모든 IPv4 주소 허용 (주의: 보안상 비추천).
- 192.168.0.0/24: 192.168.0.0부터 192.168.0.255까지의 내부 네트워크 대역만 허용.
- md5: 비밀번호 기반 인증 방식.
주의:
- trust 인증 방식을 사용하지 않는 것이 좋습니다. 반드시 PostgreSQL 사용자 계정에 비밀번호를 설정하세요.
2. postgresql.conf 파일 수정
postgresql.conf는 PostgreSQL의 네트워크 관련 설정을 정의하는 파일입니다.
- postgresql.conf 경로: PostgreSQL 설정 디렉토리에서 확인할 수 있습니다. 예:
C:\Program Files\PostgreSQL\17\data\postgresql.conf
- listen_addresses 수정:
listen_addresses = '*'
- 또는 특정 IP만 허용하려면:
listen_addresses = '127.0.0.1,192.168.0.205'
설명:
- *: 모든 IP에서 접근 허용.
- 특정 IP를 지정하면 그 IP에서만 PostgreSQL이 요청을 수락합니다.
3. 방화벽 설정 확인
PostgreSQL이 사용하는 기본 포트 5432가 방화벽에 의해 차단되어 있지 않은지 확인해야 합니다.
- 방화벽 설정 확인 및 열기 (Ubuntu):
sudo ufw allow 5432/tcp
Windows 방화벽에서 포트 열기:
- Windows 검색에서 "고급 보안이 포함된 Windows Defender 방화벽" 실행.
- 인바운드 규칙 → 새 규칙 → 포트 선택.
- TCP 및 5432 입력 후 허용.
반응형
'DataBase > PostgreSQL' 카테고리의 다른 글
EF Core Owned Entity - Delete 에러 (0) | 2025.04.01 |
---|---|
EF Core 마이그레이션 재설정 및 재적용 방법 (0) | 2025.03.31 |
PostgreSQL pgAdmin에서 테이블 백업(backUP) 방법 (0) | 2024.10.21 |
PostgreSQL에 대한 장단점 및 설명 (0) | 2024.01.17 |