连接到服务器时出错:收到对SSL协商的无效响应

时间:2015-02-04 05:03:02

标签: postgresql-9.3

我在电脑上安装了PostgreSQL 9.3。当我尝试通过pgAdminIII启动数据库时,我收到以下错误。

连接到服务器时出错:收到对SSL协商的无效响应

我通过编辑配置文件中的端口号将端口号设置为5432。 但是,当我安装postgresql时,我输入5432作为端口号,它给了我一条错误信息,"无法连接此端口。港口不可用"我不得不继续使用端口号5433.后来我在配置文件中将端口号更改为5432并重新启动了我的电脑。但我仍然得到同样的错误。请帮忙。

5 个答案:

答案 0 :(得分:5)

我遇到了这个问题,花了一段时间才意识到我实际上是在尝试使用psql客户端连接到 MySQL 服务器。.

答案 1 :(得分:2)

我解决了问题。我杀死了端口号为5432的pid,然后重新安装了端口号为5432的postgresql。我仍然收到端口号为5432的错误。最后转到控制面板 - >管理工具 - >服务 - >右键单击postgresql service->专长 - >登录标签 - >选中单选按钮本地系统帐户,然后单击确定。现在启动服务器。它将开始工作。

答案 2 :(得分:1)

您好我试图检查监听端口并得到以下结果

 Proto  Local Address          Foreign Address        State
  TCP    india:epmap            india:0                LISTENING
  TCP    india:microsoft-ds     india:0                LISTENING
  TCP    india:8162             india:0                LISTENING
  TCP    india:1085             india:0                LISTENING
  TCP    india:1563             localhost:1564         ESTABLISHED
  TCP    india:1564             localhost:1563         ESTABLISHED
  TCP    india:5152             india:0                LISTENING
  TCP    india:5432             india:0                LISTENING
  TCP    india:netbios-ssn      india:0                LISTENING
  TCP    india:2072             74.125.68.125:5222     ESTABLISHED
  TCP    india:2305             maa03s04-in-f13.1e100.net:http  TIME_WAIT
  TCP    india:2331             maa03s04-in-f25.1e100.net:http  TIME_WAIT
  TCP    india:2352             124.124.252.173:http   TIME_WAIT
  TCP    india:2353             124.124.252.173:http   TIME_WAIT
  TCP    india:2378             maa03s04-in-f26.1e100.net:http  ESTABLISHED
  TCP    india:2396             74.121.141.85:http     ESTABLISHED

答案 3 :(得分:0)

在我的情况下(WSL中的Ubuntu 18.04),我得到了相同的错误,结果是运行postgresql的端口号与我的Ruby on Rails应用程序{{ 1}}文件。

您可以通过运行以下命令在Linux中找到postgresql端口:

port

备注:12是postgresql的安装版本,您的情况可以不同。

答案 4 :(得分:0)

psql: error: could not connect to server: received invalid response to SSL negotiation: H

如果我们尝试使用http模式/协议访问通过haproxy / nginx等代理容器服务公开的postgres容器服务,也会遇到上述错误。

我们需要使用tcp模式/协议。

请尝试以下详细信息。

nginx.conf

events {}

stream {
  upstream postgres {
    server pdb:5432;
  }
  server {
    listen 5432;
    proxy_pass postgres;
  }
}

haproxy.cfg

global
  log 127.0.0.1   local1
  maxconn 4096

defaults
  mode http
  maxconn 2048

frontend postgresDB
  bind *:5000
  mode tcp
  timeout connect 5s
  timeout client 5s
  timeout server 5s
  default_backend postgresDB

backend postgresDB
  mode tcp
  server pdb pdb:5432  check inter 5s rise 2 fall 3

容器部署

sudo docker run -d --name testdb 'POSTGRES_PASSWORD=123456' postgres

sudo docker run -d --name pdb  -e 'POSTGRES_USER=admin' -e 'POSTGRES_DB=testdb' -e 'POSTGRES_PASSWORD=admin123456' postgres


sudo docker run -d --name nginx-TCPreverseProxy  -p 5432:5432  --link pdb:pdb -v /home/admin/nginx.conf:/etc/nginx/nginx.conf nginx

sudo docker run -d -p 5000:5000 --name haproxy --link pdb:pdb -v /home/admin/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg haproxy

#Testing of connection
sudo docker exec -it -u 0 testdb bash

#Inside test postgres container
#checking connection through nginx-proxy
root@34211600c3f7:/#  psql -h 192.168.0.2 -p 5432 -d testdb -U admin -W

#checking connection through haproxy-proxy
root@34211600c3f7:/#  psql -h 192.168.0.2 -p 5000 -d testdb -U admin -W