我的编程空间,编程开发者的网络收藏夹
学习永远不晚

nginx如何实现数据库端口转发

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

nginx如何实现数据库端口转发

这篇文章主要讲解了“nginx如何实现数据库端口转发”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx如何实现数据库端口转发”吧!

出于数据安全性考虑,正常情况下,网站或者项目的数据库一般都是禁止外网访问,或者只允许部分主机访问。那么,如何才能不修改这类权限的前提下,让其他被禁止访问的主机也能访问这个数据库呢。这时,Nginx的作用就体现出来了。

1、mysql为例

oracle、sqlserver等数据库配置和下面配置一样,只是数据库的端口不一样而已
需要注意的是这个配置要写在http外边

#使用nginx做数据库端口转发stream {    upstream sql {       # 配置数据库的ip和端口        server 172.16.8.190:3306 weight=1 max_fails=2 fail_timeout=30s;       }    server {     # 配置本机暴露端口       listen     925;       proxy_connect_timeout 1s;       proxy_timeout 3s;       proxy_pass sql;    }}

2、完整配置如下

#user  nobody;#配置用户或者用户组,默认为nobodyworker_processes  2;#允许生成的进程数,默认为1#制定日志路径,级别。这个设置可以放入全局块,http块,server块,#级别以此为:debug|info|notice|warn|error|crit|alert|emerg#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;#指定nginx进程运行文件存放地址events {    worker_connections  1024;    #最大连接数,默认为512    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport}stream {    upstream sql {           server 172.16.8.190:3306 weight=1 max_fails=2 fail_timeout=30s;       }    server {       listen     925;       proxy_connect_timeout 1s;       proxy_timeout 3s;       proxy_pass sql;    }}http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    #配置tomcat的IP地址和访问端口    upstream tomcat {        server 172.16.8.190:8080;             }        server {        listen       9008;        server_name  172.16.8.190;    #header name含下划线    underscores_in_headers on;     #charset gbk; # 编码设置    #开启gzip压缩        #gzip模块设置        gzip on; #开启gzip压缩输出        gzip_min_length 1k; #最小压缩文件大小        gzip_buffers 4 16k; #压缩缓冲区        gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)        gzip_comp_level 2; #压缩等级        gzip_types text/plain application/x-javascript text/css application/xml;        #压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。        gzip_vary on;        #charset koi8-r;        #charset utf-8,gbk; # 避免中文乱码        #root    D:/htmlPage/dist;         #access_log  logs/host.access.log  main;    location /{        #这个地方指定被访问的文件夹位置        root   D:/htmlPage;        index  index.html index.htm;        #limit_rate 1280k; #限制速度        client_max_body_size  100M;        allow all;        autoindex on;        proxy_set_header X-Real-IP  $remote_addr;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        add_header 'Access-Control-Allow-Headers' 'Content-Type';        add_header 'Access-Control-Allow-Methods' 'GET';        add_header 'Access-Control-Allow-Methods' 'POST';        add_header 'Access-Control-Allow-Credentials' 'true';        add_header 'Access-Control-Allow-Origin' '*';        proxy_connect_timeout       600s;        proxy_read_timeout          600s;        proxy_send_timeout          600s;         access_log off;        break;        }     } }

感谢各位的阅读,以上就是“nginx如何实现数据库端口转发”的内容了,经过本文的学习后,相信大家对nginx如何实现数据库端口转发这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

nginx如何实现数据库端口转发

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

nginx如何实现数据库端口转发

这篇文章主要讲解了“nginx如何实现数据库端口转发”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx如何实现数据库端口转发”吧!出于数据安全性考虑,正常情况下,网站或者项目的数据库一
2023-07-05

nginx实现数据库端口转发

本文主要介绍了nginx实现数据库端口转发,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-07

nginx进行端口转发的实现

本文主要介绍了nginx进行端口转发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-07

nginx进行端口转发怎么实现

本篇内容介绍了“nginx进行端口转发怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用场景1、内网有一台服务器的端口需要映射到外网
2023-07-05

怎么使用Nginx实现端口转发TCP代理

本篇内容介绍了“怎么使用Nginx实现端口转发TCP代理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需求产生背景最近同事在测试和生产环境中
2023-06-22

nginx多域名转发如何实现

这篇文章主要介绍“nginx多域名转发如何实现”,在日常操作中,相信很多人在nginx多域名转发如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nginx多域名转发如何实现”的疑惑有所帮助!接下来,请跟
2023-07-05

Linux系统中rinetd如何实现快速端口转发

这篇文章将为大家详细讲解有关Linux系统中rinetd如何实现快速端口转发,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP
2023-06-28

navicat如何修改数据库端口

使用 navicat 修改数据库端口的步骤:打开 navicat 并连接到数据库。右键单击导航器中的数据库连接并选择“编辑连接”。在“连接”选项卡中,查找“端口”字段。输入未被其他服务使用的端口号。点击“测试连接”按钮验证端口是否可用。点击
navicat如何修改数据库端口
2024-04-24

oracle数据库端口如何查询

oracle 数据库可以通过以下方法查询端口:使用 netstat 命令(如 netstat -an | grep oracle)查找监听端口;使用 oracle sql 查询 v$listener 视图(如 select * from v
oracle数据库端口如何查询
2024-04-19

mysql数据库如何修改端口

1、登录mysql界面 mysql -u root -p (root:mysql 名称) 键入mysql密码后此页面即正确: 2、查看端口号 show global variables like 'port'; (注意最后的封号) 3、
2023-08-19

oracle数据库端口号如何查看

要查看Oracle数据库的端口号,可以使用以下方法之一:查询监听器配置文件:在Oracle数据库服务器上,打开监听器配置文件listener.ora,可以找到监听器的端口号。查询监听器状态:使用lsnrctl工具,可以查询监听器的状态和端口
oracle数据库端口号如何查看
2024-04-09

sqlserver数据库端口号如何查看

要查看SQL Server数据库的端口号,可以使用以下方法之一:在SQL Server配置管理器中查看:打开SQL Server配置管理器,展开“SQL Server网络配置”,点击“协议”下的“TCP/IP”,在右侧窗口中可以看到“TCP
sqlserver数据库端口号如何查看
2024-04-12

如何看mysql数据库的端口号

mysql 数据库的端口号可以通过以下方法查看:使用 show variables like '%port%' 命令查看 mysql 配置文件(windows 和 linux/unix)询问 mysql 服务器(仅限于 linux/unix
如何看mysql数据库的端口号
2024-06-15

oracle数据库端口号如何修改

要修改Oracle数据库的端口号,可以按照以下步骤操作:进入Oracle数据库的监听器配置文件。在Oracle数据库安装目录下找到listener.ora文件,通常位于$ORACLE_HOME/network/admin目录下。打开list
oracle数据库端口号如何修改
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录