文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-07-05 10:23

关注

这篇文章主要讲解了“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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯