호스트에 대한 nopg_syslog.conf 항목
DBI를 사용하여 연결하려고 하면 다음 오류가 발생합니다.
DBI 연결(예: =)LRdb;host=192.168.0.1;port=5433','postgres',...)실패: FATAL: 호스트 "192.168.0.1", 사용자 "postgres", 데이터베이스 "caos"에 대한 nopg_hba.conf 항목LRdb", SSL 꺼짐
다음은 내 pg_hba.conf 파일입니다.
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all postgres 127.0.0.1/32 trust
host all postgres 192.168.0.1/32 trust
host all all 192.168.0.1/32 trust
host all all 192.168.0.1/128 trust
host all all 192.168.0.1/32 md5
host chaosLRdb postgres 192.168.0.1/32 md5
local all all 192.168.0.1/32 trust
내 펄 코드는
#!/usr/bin/perl-w
use DBI;
use FileHandle;
print "Start connecting to the DB...\n";
@ary = DBI->available_drivers(true);
%drivers = DBI->installed_drivers();
my $dbh = DBI->connect("DBI:PgPP:database=chaosLRdb;host=192.168.0.1;port=5433", "postgres", "chaos123");
제가 여기서 무엇을 놓쳤는지 알 수 있을까요?
이 줄을 변경할 수 있는 경우:
host all all 192.168.0.1/32 md5
사용:
host all all all md5
이것으로 문제가 해결되는지 확인할 수 있습니다.
그러나 또 다른 고려 사항은 postgresql 포트(5432)가 해커에 의한 암호 공격에 매우 개방적이라는 것입니다(암호를 무차별하게 강제할 수 있음).postgresql 포트 5432를 '33333' 또는 다른 값으로 변경하여 사용자가 이 구성을 알 수 없도록 할 수 있습니다.
pg_hba.conf 파일에 다음과 같은 부정확하고 혼란스러운 행이 있습니다.
# fine, this allows all dbs, all users, to be trusted from 192.168.0.1/32
# not recommend because of the lax permissions
host all all 192.168.0.1/32 trust
# wrong, /128 is an invalid netmask for ipv4, this line should be removed
host all all 192.168.0.1/128 trust
# this conflicts with the first line
# it says that that the password should be md5 and not plaintext
# I think the first line should be removed
host all all 192.168.0.1/32 md5
# this is fine except is it unnecessary because of the previous line
# which allows any user and any database to connect with md5 password
host chaosLRdb postgres 192.168.0.1/32 md5
# wrong, on local lines, an IP cannot be specified
# remove the 4th column
local all all 192.168.0.1/32 trust
비밀번호를 md5로 변경했다면, 줄을 다듬으면 이것이 작동할 수도 있을 것입니다.md5를 얻으려면 perl 또는 다음 셸 스크립트를 사용합니다.
echo -n 'chaos123' | md5sum
> d6766c33ba6cf0bb249b37151b068f10 -
그러면 다음과 같은 연결 라인이 필요합니다.
my $dbh = DBI->connect("DBI:PgPP:database=chaosLRdb;host=192.168.0.1;port=5433",
"chaosuser", "d6766c33ba6cf0bb249b37151b068f10");
자세한 내용은 포스트그레스 8의 문서입니다.X의 pg_hba.conf 파일입니다.
서버 이 올바른 것 . postgres 서버 구성입니다.
host all all 127.0.0.1/32 md5
host all all 192.168.0.1/32 trust
That should grant access from the client to the postgres server. So that leads me to believe the username / password is whats failing.
데이터베이스에 합니다.
createuser -a -d -W -U postgres chaosuser
다음 된 사용자 " " " " " " " " " " " " " " " " " " 을 합니다.
my $dbh = DBI->connect("DBI:PgPP:database=chaosLRdb;host=192.168.0.1;port=5433", "chaosuser", "chaos123");
이 문제를 해결하려면 이 방법을 사용해 보십시오.
먼저, 다음을 통해 pg_pg.conf를 알게 되었습니다.
루트 디렉토리에서 cd /etc/postgresql/9.5/main
다음을 사용하여 파일을 엽니다.
sudo nano pg_hba.conf
다음 행을 추가합니다.
local all all md5
pg_syslog.conf로 이동한 다음 다음 명령을 사용하여 다시 시작합니다.
sudo service postgresql restart
pg_hba.conf에 다음을 줄에 추가합니다.
hostnossl 모든 0.0.0.0/0 신뢰
그런 다음 서비스를 다시 시작합니다.
저도 같은 문제에 직면했습니다.내 DB는 클라우드에 있었습니다.
오류:
오류: 호스트 "........", 사용자 "........", 데이터베이스 "........", SSL 끄기에 대한 no pg_hba.conf 항목
이 문제를 해결하기 위해 이 구성을 추가합니다.
"dialect": "postgres",
"dialectOptions": {
"ssl": {
"require": true,
"rejectUnauthorized": false
}
}
SSL 매개 변수는 DB에 연결을 위해 항상 SSL을 사용하도록 지시하는 키입니다.
이 문제를 해결하려면 다음과 같이 시도할 수 있습니다.
먼저 당신은 당신의 pg_dlls.conf를 발견하고 다음과 같이 씁니다.
local all all md5
페이지 서버를 다시 시작한 후:
postgresql restart
또는
sudo /etc/init.d/postgresql restart
노드 및 페이지 모듈을 사용하여 이 오류가 발생하는 경우 이와 같이 무단 액세스를 거부하지 않도록 ssl을 설정할 수 있습니다.
const pool = new Pool({
connectionString: "your connection string",
ssl: {
rejectUnauthorized: false
}
})
아래와 같은 오류가 발생하는 경우:
OperationalError: FATAL: no pg_hba.conf entry for host "your ipv6",
user "username", database "postgres", SSL off
그런 다음 MAC 주소와 함께 다음과 같은 항목을 추가합니다.
host all all [your ipv6]/128 md5
예를 들어 시도하는 것.
con = psycopg2.connect(database="my_db", user="my_name", password="admin")
추가 매개 변수를 전달하려고 시도하여 다음을 통해 하루를 절약할 수 있습니다.
con = psycopg2.connect(database="my_db", user="my_name", password="admin", host="localhost")
DBeaver에서 이 오류가 발생하는 경우 솔루션은 다음 라인에서 확인할 수 있습니다.
@lcustodio SSL 페이지에서 SSL 모드: require를 설정하고 SSL Factory를 비워두거나 org.postgresql.ssl을 사용합니다.공장 유효성 검사 안 함
Network -> SSL 탭에서 Use SLL 확인란을 선택하고 Advanced -> SSL Mode = require를 설정하면 작동합니다.
PGHOST 변수도 확인합니다.
ECHO $PGHOST
로컬 컴퓨터 이름과 일치하는지 확인합니다.
그나저나, 제 경우에는 독립적인 속성이 아닌 URL에 사용자/pwd를 지정해야 했습니다. 이들은 무시되었고 OS 사용자는 연결에 사용되었습니다.
구성이 WebSphere 8.5.5 server.xml 파일에 있습니다.
<dataSource
jndiName="jdbc/tableauPostgreSQL"
type="javax.sql.ConnectionPoolDataSource">
<jdbcDriver
javax.sql.ConnectionPoolDataSource="org.postgresql.ds.PGConnectionPoolDataSource"
javax.sql.DataSource="org.postgresql.ds.PGPoolingDataSource"
libraryRef="PostgreSqlJdbcLib"/>
<properties
url="jdbc:postgresql://server:port/mydb?user=fred&password=secret"/>
</dataSource>
이 작업은 작동하지 않고 다음 오류가 발생했습니다.
<properties
user="fred"
password="secret"
url="jdbc:postgresql://server:port/mydb"/>
/etc/postgresql/14/main/pg_hba.conf 파일에 다음 행을 추가하십시오.
#IPv4 로컬 연결:
모두 127.0.0.1/32 scram-sha-256 호스트
모든 md5 호스트
다음과 같은 구성에 sslprop을 연결에 포함시킵니다.
ssl: {
rejectUnauthorized: false
}
Postgre를 위해 Azure Database에 연결하는 동안 Azure Data Factory에서 동일한 문제가 발생했습니다.SQL.
28000: 호스트 ", 사용자", 데이터베이스 "postgres"에 대한 no pg_hba.conf 항목, SSL 끄기
여기서 문제는 Postgre 때문이었습니다.SQL 데이터베이스의 ssl_min_protocol_version이 TLSV1.2로 설정되어 암호화된 연결이 필요하며 클라이언트 연결이 암호화를 사용하지 않았습니다.
속성 "암호화 방법"을 SSL로 설정하여 문제를 해결했습니다.
도커 컨테이너를 사용하여 포스트그레스를 실행했습니다.저는 이 문제에 직면했고 이 문제를 해결하기 위해 사용했습니다.POSTGRES_HOST_AUTH_METHOD=trust
컨테이너를 시작할 때의 env 변수입니다.
은 명령의 입니다.docker run --name postgres --net appnet -e POSTGRES_PASSWORD=password -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres
postgres 컨테이너를 도커 컨테이너 내에서 실행 중인 다른 응용 프로그램에 연결하려면 두 컨테이너를 모두 동일한 네트워크에서 실행하는 것이 가장 좋습니다.이 경우에는 다음을 사용하여 네트워크 앱넷을 만들었습니다.docker network create
명령을 사용하여 내 응용 프로그램 컨테이너와 postgres 컨테이너를 만듭니다.
pg_hba.conf에 다음을 줄에 추가합니다.
hostnossl 모든 0.0.0.0/0 신뢰
서버를 다시 시작
연결에 SSL을 사용합니다.이것은 그것을 즉시 해결합니다.
pgadmin에서 postgres 연결 호스트 이름/주소를 확인하고 연결 매개 변수에 동일하게 사용합니다.
DBI 연결(예: =)LRdb;host="해당 항목 유지";port=5433','postgres',...)
언급URL : https://stackoverflow.com/questions/1406025/no-pg-hba-conf-entry-for-host
'programing' 카테고리의 다른 글
목록의 모든 항목을 플로트로 변환하려면 어떻게 해야 합니까? (0) | 2023.05.31 |
---|---|
새 azure 포털(미리 보기)에서 VM에 새 엔드포인트를 추가하는 방법은 무엇입니까? (0) | 2023.05.31 |
-ObjC 링커 플래그의 역할은 무엇입니까? (0) | 2023.05.26 |
Windows Form 라디오 단추를 그룹화하는 방법 (0) | 2023.05.26 |
VB.net 에 증분 연산자가 없습니다. (0) | 2023.05.26 |