如何在NGINX中配置proxy_pass以连接PostgreSQL?

5

我在远程机器上启动了一个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?

1个回答

5

2
“stream” 的想法听起来不错。感谢提供链接。根据这个主题,我无法为流指定 server_name:https://forum.nginx.org/read.php?2,263208,263217 。所以我唯一被允许做的就是在我的 NGINX 配置中使用 stream 进行端口转发。我认为这就是答案。谢谢。 - Fomalhaut

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接