【发布时间】:2020-10-10 03:53:30
【问题描述】:
是否可以设置允许数据库客户端使用 ssl 端口 443 连接并重定向到端口 1521 的反向代理?我怀疑这行不通。有人可以解释为什么或为什么不?
【问题讨论】:
标签: networking reverse-proxy nginx-reverse-proxy
是否可以设置允许数据库客户端使用 ssl 端口 443 连接并重定向到端口 1521 的反向代理?我怀疑这行不通。有人可以解释为什么或为什么不?
【问题讨论】:
标签: networking reverse-proxy nginx-reverse-proxy
我假设 Oracle 数据库基于端口 1521。
为任何 TCP 后端设置 Nginx TCP (L4) 代理都没有问题。看这里https://www.nginx.com/blog/tcp-load-balancing-udp-load-balancing-nginx-tips-tricks/ 的配置示例。
当涉及到终止 SSL (L5) 并将解密的数据发送到 TCP 后端时,ngx_stream_ssl_module 在技术上也是可行的,但我从未测试过它,据我所知,人们在为 postgresql 设置它时遇到了问题:
http://nginx.org/en/docs/stream/ngx_stream_ssl_module.html
Can nginx do TCP load balance with SSL termination
我从未见过将 Nginx 设置为数据库代理。相反,连接池(即 postgresql 的 pgbouncer)通常不仅用于池,还用作 SSL 卸载服务。它们实际上是数据库的 L7 代理。
pgbouncer 的 Oracle 等效项似乎是 Oracle Connection Manager,它支持 SSL,所以我强烈建议使用它而不是 Nginx 或任何其他通用反向代理服务器:
【讨论】: