HTML框架 SQLMAP powershell facebook codeigniter pyspark electron教程 jquery删除子元素 mac安装hadoop sallenkey滤波器 linux自动获取ip 查看mysql是否启动 java解析pdf kubernetes安装 二分查找python python编译环境 python中str函数 java中的对象 怎么安装java环境 java网课 垃圾邮件数据集 python游戏代码 自动喊话器 音乐剪辑器下载 福昕阅读器绿色版 烧饼修改器打不开 eagle软件 服务器文件共享软件 勇敢者的游戏3 网页之家 鬼灵战马 linux系统下载 羽化快捷键 qq流览器下载 接口自动化测试框架 js文件上传插件 lol游戏环境异常 top命令详解 c4d序列号 cad周长快捷键
当前位置: 首页 > 学习教程  > 编程语言

nginx转发访问内网数据库

2020/8/11 18:54:10 文章标签:

前言:由于数据库的安全性,3306端口一般不对外开发,那外网需要访问数据库的话可以通过nginx监听其他端口转发至内网。具体过程如下:

1.使用nginx -V检查nginx是否添加了stream模块

nginx -V

截图如下:

注:如果使用的yum install -y nginx安装的nginx会自动安装,如果是源码安装的可能需要单独添加该模块。 

源码安装该模块的指令:

./configure --prefix=/application/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-stream && make && make install

2.修改nginx配置文件

在http上面添加如下代码:

stream {                                                                                                                                          
    upstream mysql {                                                                                                                              
        server 192.168.11.20:3306 weight=1 max_fails=3 fail_timeout=10s;                                                                          
    }                                                                                                                                             
    server {                                                                                                                                      
        listen 3307;                                                                                                                              
        proxy_pass mysql;                                                                                                                         
        proxy_timeout 600s;                                                                                                                       
        proxy_connect_timeout 30s;                                                                                                                
    }                                                                                                                                             
}

截图如下: 

 

3. 重新加载nginx配置文件

nginx -s reload

报错信息:

bind() to 0.0.0.0:3307 failed (13: Permission denied)

重新加载配置文件时报错无权限。

解决方法:关闭selinux

(1)查看selinux是否开启

getenforce

如果输出:enforcing表示开启,permissive表示关闭 

(1)临时关闭:

setenforce 0 #设置SELinux 成为permissive模式
setenforce 1 #设置SELinux 成为enforcing模式

(2)永久关闭

vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled,重启服务器即可。

4.快速检查是否转发成功

telnet 127.0.0.1 3307

若没有报错失去连接即设置成功。检查方法也可使用客户端连接等。


本文链接: http://www.dtmao.cc/news_show_100042.shtml

附件下载

上一篇:常用类库-String类

下一篇:Socket通信原理

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?