nginx代理postgresql的实现示例
作者:会飞的尼古拉斯
本文主要介绍了nginx代理postgresql的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
首先,Nginx为我们的数据库增加了额外的安全层。Nginx提供了一整套的选项,这使得管理访问和保护数据库变得很容易。例如,我们可以配置为只有一小部分IP地址可以访问数据库。
PostgreSQL不使用HTTP或HTTPS,而是使用一个新块儿stream。
- stream
该指令定义了stream服务器。与http块平级,定义在main块中。 
 stream {
     server {
         ......
     }
 }
- server
该指令定义一个虚拟主机,与http块中的server类似。我们可以在stream块中定义多个server块。 
stream {
     server {
         ......
     }
     server {
         ......
     }
 }
- listen
该指令定义虚拟主机server要监听的socket的地址和端口。 - allow配置允许访问的IP
作用域:stream, server 
# 允许192.168.110.1访问 allow 192.168.110.1; # 允许192.168.110.1到192.168.255.254 allow 192.168.110.0/16; # 允许192.168.110.1到192.168.110.254 allow 192.168.110.0/24; # 允许所有的IP访问 allow all;
- deny 配置不可访问ip
作用域:stream, server 
# 禁止192.168.110.1访问 deny 192.168.110.1; # 禁止192.168.110.1到192.168.255.254 deny 192.168.110.0/16; # 禁止192.168.110.1到192.168.110.254 deny 192.168.110.0/24; # 禁止所有的IP访问 deny all;
- 配置实例
 
stream {
    upstream pgsql_socket {
         server 192.168.214.133:32222;
     }
    server {
      listen 9856;
      allow 192.168.214.134;
      deny all;
      proxy_connect_timeout 60s;
      proxy_socket_keepalive on;
      proxy_pass pgsql_socket;#192.168.214.133:32222;
    }
}
https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/
到此这篇关于nginx代理postgresql的实现示例的文章就介绍到这了,更多相关nginx代理postgresql内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
