Pgadmin4:无效的HTTP版本'无效的HTTP版本:'在postgres@domain.tld HTTP / 1.0上

时间:2018-11-20 10:31:49

标签: postgresql docker pgadmin pgadmin-4

--------------------------------------------------------
| Pgadmin version           |          4.3.5           |
--------------------------------------------------------
| PostgreSQL server version | pg_ctl (PostgreSQL) 11.1 |
--------------------------------------------------------
| Docker image              |      dpage/pgadmin4      |
--------------------------------------------------------

我在Docker容器中使用PGAdmin4遇到问题。当我连接到主机的Postgresql服务器并尝试查看/编辑数据时-我收到这样的错误:https://pasteboard.co/HO1w7jS.png

请注意:

  • 我有默认的postgresql配置,但listen_addresses = '127.0.0.1, 172.17.0.1除外。
  • PGAdmin容器位于nginx代理mydomain.tld -> localhost:5050后面

据我了解,这是Postgresql HTTP API的问题。但是我既不是Postgresql也不是pgadmin的专家。也许有人可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题出在nginx位置的正则表达式中。 Nginx以某种方式奇怪地截断了URL参数。

也许这是由于使用了以下补丁:https://stackoverflow.com/a/50515636/9547899(我使用它将对pgadmin的请求重定向到子目录)

是:

location ~ /PostgreSQL(.*)$ {
    proxy_pass          http://127.0.0.1:23301$1;

它变成了:

location ~ PostgreSQL {
    proxy_pass          http://127.0.0.1:23301;