PG Startup message and HAProxy ACL

Поиск
Список
Период
Сортировка
От Godfrin, Philippe E
Тема PG Startup message and HAProxy ACL
Дата
Msg-id BLAPR15MB3924EAC24A040BD35A255C16823D9@BLAPR15MB3924.namprd15.prod.outlook.com
обсуждение исходный текст
Ответы Re: PG Startup message and HAProxy ACL  (Vijaykumar Jain <vijaykumarjain.github@gmail.com>)
Список pgsql-admin

Greetings folks!

 

I am trying to parse the PG startup message using an HAProxy ACL – but the acl never returns true. Here’s what it looks like:

 

listen  pg_ingress

        #mode   tcp

        bind    *:5000

        option tcplog           # enable addvanced logging

        # hex convert tsdbrw   

        acl check-rw req.payload(0,0),hex -m sub 757365720074736462727700

        use_backend pg_readwrite if check-rw

        default_backend pg_readonly

 

In detail:

 

        acl check-rw req.payload(0,0),hex -m sub 757365720074736462727700

 

The req.payload should return a binary block of the entire request buffer. I am assuming that the startup message will be there but I suspect it is not.

The “hex” statement converts the binary into hex, and the -m sub attempts to match a substring of the following hex – which is “user\0tsdbrw\0”

 

I think this should work, but it doesn’t look that way…

 

When exactly does the startup message come across the tcp wire?

Much thanks,

Pg

 

Phil Godfrin | Database Administrator

NOV

NOV US | Engineering Data

9720 Beechnut St | Houston, Texas 77036

M  281.825.2311

E   Philippe.Godfrin@nov.com

 

В списке pgsql-admin по дате отправления:

Предыдущее
От: Scott Ribe
Дата:
Сообщение: Re: column max length / max timestamps from system tables
Следующее
От: sbob
Дата:
Сообщение: Re: column max length / max timestamps from system tables