当前位置: 首页 > news >正文

nginx配置反向代理数据库等插件的原理和方式

nginx配置反向代理数据库等插件的原理和方式

一、反向代理数据库

通过 Nginx 反向代理 mysql数据库, Nginx 的 TCP/UDP 代理模块(stream)实现数据库端口的转发。

1、确认 Nginx 支持 stream 模块

nginx -V 2>&1 | grep -o with-stream
# 若输出 `with-stream` 表示支持,否则需重新编译安装

2、重新安装编译

# 编译并启用 stream 模块
./configure --with-stream --prefix=/usr/local/nginx

make  

make install

3、nginx.conf 的 主配置层级添加 stream

# nginx.conf 主配置文件
user  nginx;
worker_processes  auto;

events {
    worker_connections  1024;
}

# 关键配置:stream 模块代理 mysql
stream {
    server {
        listen     3307;          # 外网暴露的端口(非5432避免冲突)
        proxy_pass 192.168.1.100:3306;  # 内网数据库地址
        proxy_connect_timeout 60s;
        proxy_timeout 12h;        # 长连接超时时间
    }

    # 代理第二个数据库(MySQL 示例)
    server {
        listen 1381;             # 外网暴露端口2
        proxy_pass 192.168.01.11:3306;  # 内网数据库2地址
        proxy_connect_timeout 60s;
        proxy_timeout 12h;
    }
}

http {
    # 原有 HTTP 配置(可保留其他服务)
    ...
}

4、重新加载

nginx -s reload

正常情况配置已经生效,外网的ip如果是本地电脑 127.0.0.1(或者111.2.2.118),就可以通过3307端口访问 内网的数据库了。

二、反向代理geosever

三、反向代理后端服务

四、反向代理前端服务

五、代理

相关文章:

  • Java线程6种状态的详细说明、状态转换关系(UML展示)
  • 汽车安全确认等级-中国等保
  • springboot基于session实现登录
  • 深入解析过滤器模式(Filter Pattern):一种灵活高效的设计模式
  • 让vscode远程开发也可以图形显示
  • 基于BClinux8部署Ceph 19.2(squid)集群
  • Coco AI 智能检索 Hugo Blog 集成指南
  • 我的python学习记录
  • 【蓝桥杯】省赛:分糖果(思维/模拟)
  • Kotlin 基础语法
  • C# 语法糖
  • Docker build 会在本地产生巨大的文件
  • 计算机视觉技术探索:美颜SDK如何利用深度学习优化美颜、滤镜功能?
  • 如何选择合适的SSL服务器证书
  • 深入理解 Vue.js 中的 <keep-alive>:使用技巧与注意事项
  • c#:使用Modbus RTU协议
  • 高频SQL50题 第一天 | 1757. 可回收且低脂的产品、584. 寻找用户推荐人、595. 大的国家、1683. 无效的推文、1148. 文章浏览 I
  • 3.19刷题
  • 【VUE】day05-ref引用
  • 3.18-1
  • 福州专业网站制作设计/百度2023免费
  • 做网站用什么配资电脑/简单的网站建设
  • 网站里面的链接怎么做的/seo深度优化公司
  • dedecms网站安装/媒体发稿平台
  • 专业独立门户网站建设/市场调研数据网站
  • 做网站用什么服务器/西安外包网络推广