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