我有一个 PostgreSQL 服务器在端口15432上的远程计算机上启动。我想配置 NGINX 以使数据库可以通过主机db.domain.my和端口5432远程使用。我尝试的配置是:
server {
listen 5432;
server_name db.domain.my;
location / {
proxy_pass http://127.0.0.1:15432/;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用psql远程连接数据库时,出现错误:
$ psql -h db.domain.my -U myuser
psql: received invalid response to SSL negotiation: H
Run Code Online (Sandbox Code Playgroud)
我也尝试添加ssl字,但listen 5432没有成功。
如何正确配置 NGINX?
可能会删除,http://因为它是 TCP 连接(不是 HTTP 连接)并添加,so_keepalive=on以便listen 5432;连接保持打开状态。
也许您必须使用stream而不是http阻止:https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/