一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用Nginx代理MySQL連接并限制可訪問IP

馬哥Linux運維 ? 來源:頭條號fkjavaer ? 2023-08-15 11:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.前言

我們的生產(chǎn)環(huán)境基本上都部署在云服務(wù)器上,例如應用服務(wù)器、MySQL服務(wù)器等。如果MySQL服務(wù)器直接暴露在公網(wǎng),就會存在很大的風險,為了保證數(shù)據(jù)安全,MySQL服務(wù)器的端口是不對外開放的。

好巧不巧,線上業(yè)務(wù)遇到bug了,開發(fā)的小伙伴需要遠程連接MySQL來查看數(shù)據(jù),那應該怎么辦呢?

我們可以通過Nginx代理(“跳板機”)來進行連接。

2.Nginx代理連接

要實現(xiàn)對連接的代理轉(zhuǎn)發(fā),我們需要一臺服務(wù)器并安裝Nginx,且與MySQL服務(wù)器處于一個內(nèi)網(wǎng)之中,內(nèi)網(wǎng)之間可以訪問。

其次,我們需要用到ngx_stream_core_module模塊,該模塊不是默認構(gòu)建的,我們需要在configure時添加--with-stream來進行構(gòu)建。

既然要用到ngx_stream_core_module模塊,先看看其提供的指令,我們才知道怎么來進行配置。

1)stream

該指令定義了stream服務(wù)器。與http塊平級,定義在main塊中。

作用域:main

語法:stream {...}

示例:

stream{
server{
......
}
}

2)server

該指令定義一個虛擬主機,與http塊中的server類似。我們可以在stream塊中定義多個server塊。

作用域:stream

語法:server {...}

stream{
server{
......
}
server{
......
}
}

3)listen

該指令定義虛擬主機server要監(jiān)聽的socket的地址和端口。

作用域:server

語法:listen address:port;

示例:

listen127.0.0.1:3306;
listen*:3306;
#效果與listen*:3306一樣
listen3306;
listenlocalhost:3306;

4)配置示例

MySQL服務(wù)器,端口3306(單機環(huán)境)

stream{
server{
listen3306;
proxy_pass192.168.110.101:3306;
}
}

MySQL服務(wù)器,端口3306(集群環(huán)境)

stream{
upstreammysql_socket{
server192.168.110.101:3306;
}
server{
listen3306;
proxy_passmysql_socket;
}
}

此時,我們就可以通過例如Navicat等客戶端進行連接。

3.限制訪問IP

實現(xiàn)了對連接的代理,所有人都可以通過訪問Nginx來連接MySQL服務(wù)器,解決了外網(wǎng)無法連接的問題。

為了更進一步的縮小訪問范圍,保證數(shù)據(jù)安全,我們可以限制只有公司網(wǎng)絡(luò)的IP地址可以通過Nginx進行連接。

Nginx提供了ngx_stream_access_module模塊,其指令非常簡單,僅包含allow和deny指令。

1)allow

該指令設(shè)置指定的IP允許訪問??梢院蚫eny指令配合使用

作用域:stream, server

語法:allow address | CIDR | unix: | all;

示例:

#允許192.168.110.1訪問
allow192.168.110.1;

#允許192.168.110.1到192.168.255.254
allow192.168.110.0/16;

#允許192.168.110.1到192.168.110.254
allow192.168.110.0/24;

#允許所有的IP訪問
allowall;

2)deny

該指令設(shè)置指定的IP禁止訪問??梢院蚢llow指令配合使用。

作用域:stream, server

語法:deny address | CIDR | unix: | all;

#禁止192.168.110.1訪問
deny192.168.110.1;

#禁止192.168.110.1到192.168.255.254
deny192.168.110.0/16;

#禁止192.168.110.1到192.168.110.254
deny192.168.110.0/24;

#禁止所有的IP訪問
denyall;

3)配置示例

禁止所有的IP訪問,192.168.110.100除外。

allow192.168.110.100;
denyall;

Tips:如果指定了allow,需要配合deny使用,否則就是允許所有的IP地址訪問。

4.綜合案例

只允許192.168.110.100通過Nginx連接MySQL服務(wù)器。

stream{
allow192.168.110.100;
denyall;
server{
listen3306;
proxy_pass192.168.110.101:3306;
}
}

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9795

    瀏覽量

    87984
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    33511
  • 虛擬主機
    +關(guān)注

    關(guān)注

    0

    文章

    71

    瀏覽量

    11707
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    860

    瀏覽量

    27932
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    171

    瀏覽量

    12601

原文標題:Nginx 代理 MySQL 連接,并限制可訪問IP

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    本地LabVIEW訪問遠程mysql

    SQL SERVER我也嘗試過,在連接字符串中寫入遠程訪問對象的IP就可以。可是MYSQL這個數(shù)據(jù)庫沒用過,更沒用LabVIEW對其進行過訪問
    發(fā)表于 12-15 14:38

    【NanoPi NEO試用體驗】之安裝配置Nginx環(huán)境WEB網(wǎng)站詳解

    本帖最后由 Q69693721 于 2016-10-18 13:54 編輯 LNMP(Linux+Nginx+Mysql+PHP)相信學過計算機編程和網(wǎng)站的人應該都知道他一直是Linux環(huán)境下
    發(fā)表于 10-18 12:25

    NanoPi NEO - 可靠的Nginx 網(wǎng)絡(luò)服務(wù)器

    服務(wù)器部署,刪除匿名用戶和測試數(shù)據(jù)庫。#mysql_secure_installation根據(jù)提示進行選擇:3. 安裝nginx如果你之前已經(jīng)安裝了Apache2,則需要先移除apache2
    發(fā)表于 06-20 15:43

    看看nginx連接頻率limit_conn_module和請求頻率limit_req_module限制模塊

    影響業(yè)務(wù)正常運行。往往辦法是限制對同一個IP連接數(shù)和并發(fā)數(shù)進行限制。今天我們就來看看nginx連接
    發(fā)表于 10-19 14:20

    如何徹底搞懂Nginx知識網(wǎng)結(jié)構(gòu)

    ,性能是其最重要的要求,十分注重效率,有報告nginx能支持高達50000個并發(fā)連接數(shù) 1.1反向代理 正向代理 正向代理:局域網(wǎng)中的電腦用
    的頭像 發(fā)表于 05-03 14:15 ?1856次閱讀
    如何徹底搞懂<b class='flag-5'>Nginx</b>知識網(wǎng)結(jié)構(gòu)

    配置Nginx訪問日志

    每當處理客戶請求時,Nginx都會在訪問日志中生成一個新記錄。每個事件記錄都包含一個時間戳,包含有關(guān)客戶端和所請求資源的各種信息。訪問日志可以顯示
    的頭像 發(fā)表于 05-24 09:59 ?2620次閱讀

    如何提高Mysql數(shù)據(jù)庫的訪問瓶頸

    為了提高Mysql數(shù)據(jù)庫的訪問瓶頸,常用的方法有如下兩個: 在服務(wù)器端增加緩存服務(wù)器緩存常用的數(shù)據(jù)(例如redis) 增加連接池,來提高MYsql Server的
    的頭像 發(fā)表于 11-08 16:22 ?1272次閱讀
    如何提高<b class='flag-5'>Mysql</b>數(shù)據(jù)庫的<b class='flag-5'>訪問</b>瓶頸

    nginx使用學習之正、反向代理

    Nginx 不僅可以做反向代理,實現(xiàn)負載均衡。還能用作正向代理來進行上網(wǎng)等功能。正向代理:如果把局域網(wǎng)外的 Internet 想象成一個巨大的資源庫,則局域網(wǎng)中的客戶端要訪 問 Int
    的頭像 發(fā)表于 11-13 10:54 ?1456次閱讀
    <b class='flag-5'>nginx</b>使用學習之正、反向<b class='flag-5'>代理</b>

    Nginx的配置文件如何設(shè)置頭信息保留真實IP不丟失

    Nginx 配置中設(shè)置頭信息以保留客戶端的真實 IP 地址通常是在使用反向代理的場景中需要的。當 Nginx 作為反向代理時,客戶端的真
    的頭像 發(fā)表于 11-30 10:54 ?2360次閱讀

    如何通過Nginx實現(xiàn)禁止國外IP訪問網(wǎng)站

    最近不少小伙伴反饋自己維護的項目中,經(jīng)常在后臺可以看到來自國外IP的攻擊,令人頭疼。今天浩道跟大家分享如何通過Nginx來實現(xiàn)禁止國外IP訪問網(wǎng)站,確保你網(wǎng)站免遭國外
    的頭像 發(fā)表于 12-01 11:12 ?1901次閱讀
    如何通過<b class='flag-5'>Nginx</b>實現(xiàn)禁止國外<b class='flag-5'>IP</b><b class='flag-5'>訪問</b>網(wǎng)站

    國外IP代理地址:提升網(wǎng)絡(luò)訪問體驗

    國外IP代理地址通過提供位于國外的代理服務(wù)器,為用戶訪問國外網(wǎng)站和服務(wù)提供了便利,從而能夠顯著提升網(wǎng)絡(luò)訪問體驗。
    的頭像 發(fā)表于 10-31 07:04 ?870次閱讀

    探索IP在線代理:解鎖網(wǎng)絡(luò)訪問的新途徑

    探索IP在線代理確實為我們解鎖網(wǎng)絡(luò)訪問提供了一種新的途徑。
    的頭像 發(fā)表于 11-04 07:34 ?650次閱讀

    IP在線代理全解析:快速訪問全球資源的利器

    在當今全球化的信息時代,互聯(lián)網(wǎng)已成為連接世界各地的重要橋梁。然而,由于地域限制、網(wǎng)絡(luò)封鎖等原因,部分用戶可能無法直接訪問到某些國外網(wǎng)站或資源。這時,IP在線
    的頭像 發(fā)表于 11-13 07:41 ?1317次閱讀

    海外IP代理池:提升網(wǎng)絡(luò)訪問速度與效率的利器

    海外IP代理池無疑是提升網(wǎng)絡(luò)訪問速度與效率的利器,它通過提供位于海外的代理服務(wù)器,為用戶訪問國外網(wǎng)站和服務(wù)提供了便利。
    的頭像 發(fā)表于 11-14 07:29 ?825次閱讀

    IP在線代理指南:選擇、使用與優(yōu)化技巧

    在數(shù)字時代,IP在線代理成為了我們訪問全球互聯(lián)網(wǎng)資源的重要工具。通過選擇合適的代理服務(wù)器,我們不僅能夠突破地域限制,還能提高
    的頭像 發(fā)表于 11-16 16:41 ?1256次閱讀