Tôi đang cố gắng kết nối với cơ sở dữ liệu bên ngoài từ pgAdmin III (được cài đặt trên cả hai máy). Khách hàng phàn nàn:
Truy cập cơ sở dữ liệu bị từ chối
Máy chủ không cấp quyền truy cập vào cơ sở dữ liệu: máy chủ báo cáo
FATAL: no pg_hba.conf entry for host "192.168.108.161", user "postgres", database "postgres", SSL off
Để truy cập cơ sở dữ liệu trên máy chủ PostgreQuery, trước tiên bạn phải cấp quyền truy cập chính cho máy chủ cho máy khách của bạn (Xác thực dựa trên máy chủ). PostgreSQL sẽ kiểm tra
pg_hba.conf
tệp nếu một mẫu phù hợp với địa chỉ khách hàng / tên người dùng / cơ sở dữ liệu của bạn có mặt và được bật trước khi bất kỳSQL GRANT
danh sách kiểm soát truy cập nào được đánh giá.Các cài đặt ban đầu trong pg_hba.conf khá hạn chế, để tránh các lỗ hổng bảo mật không mong muốn gây ra bởi các cài đặt hệ thống không được xem xét nhưng bắt buộc. Bạn có thể muốn thêm một cái gì đó như
host all all 192.168.0.0/24 md5
Ví dụ này cấp quyền truy cập mật khẩu được mã hóa MD5 cho tất cả các cơ sở dữ liệu cho tất cả người dùng trên mạng riêng
192.168.0.0/24
. Bạn có thể sử dụngpg_hba.conf
trình chỉnh sửa được tích hợp trong pgAdmin III để chỉnh sửapg_hba.conf
tệp cấu hình.Sau khi thay đổi
pg_hba.conf
, bạn cần kích hoạt cấu hình máy chủ tải lại bằng cách sử dụngpg_ctl
hoặc bằng cách dừng và khởi động lại quy trình máy chủ.
Trường hợp máy chủ tuyên bố rõ ràng rằng tất cả các kết nối từ mạng nội bộ được chấp nhận.
pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 192.168.0.0/24 md5
Tôi đã khởi động lại bưu điện để các thay đổi có hiệu lực và đã đi xa đến mức khởi động lại toàn bộ máy. Điều gì khác có thể đi sai ở đây?
/
có bao nhiêu bit đã được sửa --- điều này có ý nghĩa hơn bây giờ rất nhiều!