FATAL: 28000: no pg_hba.conf entry for host "fe80::1970:8120:695:a41e%12"
IPv6가 활성화된 클라이언트에서 PostgreSQL 서버를 접속했더니 다음과 같은 오류가 발생합니다.
Server Error in '/' Application.
FATAL: 28000: no pg_hba.conf entry for host "fe80::1970:8120:695:a41e%12", user "testuser", database "testdb", SSL off
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Npgsql.NpgsqlException: FATAL: 28000: no pg_hba.conf entry for host "fe80::1970:8120:695:a41e%12", user "testuser", database "testdb", SSL off
Source Error:
Line 54: {
Line 55: connection.ConnectionString = oledbConnectionString;
Line 56: connection.Open();
Line 57:
Line 58: NpgsqlCommand command = new NpgsqlCommand();
Source File: D:\...\WebSiteTest\postgreSQLTest.aspx.cs Line: 56
Stack Trace:
[NpgsqlException (0x80004005): FATAL: 28000: no pg_hba.conf entry for host "fe80::1970:8120:695:a41e%12", user "testuser", database "testdb", SSL off]
Npgsql.<ProcessBackendResponses_Ver_3>d__a.MoveNext() in C:\projects\Npgsql2\src\Npgsql\NpgsqlState.cs:686
Npgsql.NpgsqlState.IterateThroughAllResponses(IEnumerable`1 ienum) in C:\projects\Npgsql2\src\Npgsql\NpgsqlState.cs:319
Npgsql.NpgsqlConnectedState.Startup(NpgsqlConnector context) in C:\projects\Npgsql2\src\Npgsql\NpgsqlConnectedState.cs:52
Npgsql.NpgsqlConnector.Open() in C:\projects\Npgsql2\src\Npgsql\NpgsqlConnector.cs:656
Npgsql.NpgsqlConnectorPool.GetPooledConnector(NpgsqlConnection Connection) in C:\projects\Npgsql2\src\Npgsql\NpgsqlConnectorPool.cs:423
Npgsql.NpgsqlConnectorPool.RequestPooledConnectorInternal(NpgsqlConnection Connection) in C:\projects\Npgsql2\src\Npgsql\NpgsqlConnectorPool.cs:226
Npgsql.NpgsqlConnectorPool.RequestPooledConnector(NpgsqlConnection Connection) in C:\projects\Npgsql2\src\Npgsql\NpgsqlConnectorPool.cs:174
Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection Connection) in C:\projects\Npgsql2\src\Npgsql\NpgsqlConnectorPool.cs:158
Npgsql.NpgsqlConnection.Open() in C:\projects\Npgsql2\src\Npgsql\NpgsqlConnection.cs:536
WebSiteTest.postgreSQLTest.Page_Load(Object sender, EventArgs e) in D:\...\WebSiteTest\postgreSQLTest.aspx.cs:56
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +95
System.Web.UI.Control.LoadRecursive() +59
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2952}
예전에도 이에 대해 설명했지만,
닷넷에서 접근해보는 PostgreSQL DB
; https://www.sysnet.pe.kr/2/0/961
다음과 같이 pg_hba.conf 설정에 항목을 추가해 주면 됩니다.
PostgreSQL pg_hba.conf Issue
; http://stackoverflow.com/questions/6643050/postgresql-pg-hba-conf-issue
host all all fe80::1970:8120:695:a41e/128 md5
위와 같이 서브네트워크를 /128로 주면 1개의 주소만 접속이 허용됩니다. 따라서 여러 대의 클라이언트 접속을 허용하고 싶다면 그것의 범위에 맞는 서브 네트워킹 숫자만 적절하게 설정하시면 됩니다. 다음 계산기를 쓰면 좀 편리하겠지요. ^^ (무려, cgi로 만들어진 계산기입니다.)
IPv4/IPv6 subnet calculator
; http://www.gestioip.net/cgi-bin/subnet_calculator.cgi
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]