最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx代理MySQL并限制IP訪問(wèn)怎么配置?詳細(xì)步驟解析

 更新時(shí)間:2026年07月29日 09:36:08   作者:代碼小偵探  
還在為云服務(wù)器上MySQL端口.暴露的安全問(wèn)題發(fā)愁?本文教你如何利用Nginx代理(跳板機(jī))實(shí)現(xiàn)安全的遠(yuǎn)程連接,通過(guò)ngx_stream_core_module模塊轉(zhuǎn)發(fā)請(qǐng)求,并配合IP白名單限制訪問(wèn),確保只有授權(quán)IP能連接數(shù)據(jù)庫(kù),輕松提升數(shù)據(jù)安全性

1、前言

在生產(chǎn)環(huán)境中,我們的應(yīng)用服務(wù)器、MySQL服務(wù)器等通常都部署在云服務(wù)器上。為了數(shù)據(jù)安全,MySQL服務(wù)器的端口一般不會(huì)對(duì)外開(kāi)放,因?yàn)橹苯颖┞对诠W(wǎng)會(huì)帶來(lái)很大的風(fēng)險(xiǎn)。然而,線上業(yè)務(wù)出現(xiàn)bug時(shí),開(kāi)發(fā)人員需要遠(yuǎn)程連接MySQL來(lái)查看數(shù)據(jù)。這時(shí),我們可以通過(guò)Nginx代理(俗稱“跳板機(jī)”)來(lái)實(shí)現(xiàn)安全連接。

2、Nginx代理連接

要實(shí)現(xiàn)對(duì)MySQL連接的代理轉(zhuǎn)發(fā),我們需要一臺(tái)安裝了Nginx的服務(wù)器,并且這臺(tái)服務(wù)器要與MySQL服務(wù)器處于一個(gè)內(nèi)網(wǎng)中,以便它們之間可以相互訪問(wèn)。此外,我們還需要用到ngx_stream_core_module模塊,該模塊不是默認(rèn)構(gòu)建的,需要在Nginx配置時(shí)添加--with-stream選項(xiàng)來(lái)進(jìn)行構(gòu)建。

2.1 指令介紹

1)stream

  • 作用:定義stream服務(wù)器,與http塊平級(jí),定義在main塊中。
  • 作用域:main
  • 語(yǔ)法stream {...}
  • 示例
stream {
    # 配置內(nèi)容
}

2)server

  • 作用:定義一個(gè)虛擬主機(jī),與http塊中的server類(lèi)似??梢栽趕tream塊中定義多個(gè)server塊。
  • 作用域:stream
  • 語(yǔ)法server {...}
  • 示例
stream {
    server {
        # 配置內(nèi)容
    }
}

3)listen

  • 作用:定義虛擬主機(jī)server要監(jiān)聽(tīng)的socket的地址和端口。
  • 作用域:server
  • 語(yǔ)法listen address:port;
  • 示例
stream {
    server {
        listen 127.0.0.1:3306;
        # 其他配置
    }
}

2.2 配置示例

假設(shè)我們的MySQL服務(wù)器IP為192.168.110.101,端口為3306。

單機(jī)環(huán)境配置

stream {
    server {
        listen 3306;
        proxy_pass 192.168.110.101:3306;
    }
}

集群環(huán)境配置(假設(shè)有多個(gè)MySQL實(shí)例)

這里只是一個(gè)示例,實(shí)際配置可能需要根據(jù)具體的負(fù)載均衡策略來(lái)調(diào)整。

stream {
    upstream mysql_cluster {
        server 192.168.110.101:3306;
        server 192.168.110.102:3306;
        # 更多服務(wù)器...
    }

    server {
        listen 3306;
        proxy_pass mysql_cluster;
    }
}

配置完成后,我們就可以通過(guò)例如Navicat等客戶端連接到Nginx的3306端口,由Nginx代理連接到MySQL服務(wù)器。

3、限制訪問(wèn)IP

實(shí)現(xiàn)了連接代理后,任何人只要能訪問(wèn)Nginx就能連接MySQL服務(wù)器。為了更進(jìn)一步縮小訪問(wèn)范圍,保證數(shù)據(jù)安全,我們可以限制只有公司網(wǎng)絡(luò)的IP地址可以通過(guò)Nginx進(jìn)行連接。

Nginx提供了ngx_stream_access_module模塊,其指令非常簡(jiǎn)單,僅包含allowdeny指令。

3.1 指令介紹

1)allow

  • 作用:設(shè)置指定的IP允許訪問(wèn)。可以和deny指令配合使用。
  • 作用域:stream, server
  • 語(yǔ)法allow address | CIDR | unix: | all;
  • 示例
# 允許192.168.110.1訪問(wèn)
allow 192.168.110.1;

# 允許192.168.110.0/16網(wǎng)段的IP訪問(wèn)
allow 192.168.110.0/16;

# 允許所有IP訪問(wèn)
allow all;

2)deny

  • 作用:設(shè)置指定的IP禁止訪問(wèn)??梢院?code>allow指令配合使用。
  • 作用域:stream, server
  • 語(yǔ)法deny address | CIDR | unix: | all;
  • 示例
# 禁止192.168.110.1訪問(wèn)
deny 192.168.110.1;

# 禁止192.168.110.0/16網(wǎng)段的IP訪問(wèn)
deny 192.168.110.0/16;

# 禁止所有IP訪問(wèn)
deny all;

3.2 配置示例

禁止所有的IP訪問(wèn),除192.168.110.100外。

stream {
    allow 192.168.110.100;
    deny all;

    server {
        listen 3306;
        proxy_pass 192.168.110.101:3306;
    }
}

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

4、綜合案例

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

Nginx配置

stream {
    allow 192.168.110.100;
    deny all;

    server {
        listen 3306;
        proxy_pass 192.168.110.101:3306;
    }
}

運(yùn)行結(jié)果

配置前

  • 從任意IP嘗試連接Nginx的3306端口,都能成功連接到MySQL服務(wù)器。

配置后

  • 只有從192.168.110.100這個(gè)IP嘗試連接Nginx的3306端口時(shí),才能成功連接到MySQL服務(wù)器。
  • 從其他IP嘗試連接時(shí),會(huì)被Nginx拒絕。

通過(guò)這樣的配置,我們可以有效地控制能夠訪問(wèn)MySQL服務(wù)器的IP范圍,從而提高數(shù)據(jù)的安全性。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx 499錯(cuò)誤問(wèn)題及解決辦法

    Nginx 499錯(cuò)誤問(wèn)題及解決辦法

    Nginx ("engine x") 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器,接下來(lái)通過(guò)本文給大家介紹Nginx 499錯(cuò)誤問(wèn)題及解決辦法,一起看看吧
    2016-06-06
  • 如何利用nginx做代理緩存淺析

    如何利用nginx做代理緩存淺析

    Nginx緩存主要是用于減輕后端服務(wù)器的負(fù)載,提高網(wǎng)站并發(fā)量,提升用戶體驗(yàn)度,下面這篇文章主要給大家介紹了關(guān)于如何利用nginx做代理緩存的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • 詳解Keepalived+Nginx實(shí)現(xiàn)高可用(HA)

    詳解Keepalived+Nginx實(shí)現(xiàn)高可用(HA)

    這篇文章主要介紹了詳解Keepalived+Nginx實(shí)現(xiàn)高可用(HA),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Nginx中map指令的具體使用

    Nginx中map指令的具體使用

    Nginx的map指令是一個(gè)強(qiáng)大的工具,用于根據(jù)變量的值來(lái)設(shè)置另一個(gè)變量的值,本文就來(lái)介紹一下Nginx中map指令的具體使用,感興趣的可以了解一下
    2024-07-07
  • Centos基于Nginx搭建RTMP服務(wù)器的實(shí)現(xiàn)

    Centos基于Nginx搭建RTMP服務(wù)器的實(shí)現(xiàn)

    本文主要介紹了Centos基于Nginx搭建RTMP服務(wù)器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07
  • Nginx中roxy_set_header與add_header區(qū)別舉例淺析

    Nginx中roxy_set_header與add_header區(qū)別舉例淺析

    proxy_set_header是一個(gè) Nginx 配置指令,用于設(shè)置將要轉(zhuǎn)發(fā)到后端服務(wù)器的 HTTP 請(qǐng)求頭,這篇文章主要給大家介紹了關(guān)于Nginx中roxy_set_header與add_header區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • windows下快速安裝nginx并配置開(kāi)機(jī)自啟動(dòng)的方法

    windows下快速安裝nginx并配置開(kāi)機(jī)自啟動(dòng)的方法

    這篇文章主要介紹了windows下快速安裝nginx 并配置開(kāi)機(jī)自啟動(dòng)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Nginx中虛擬主機(jī)的三種配置方式詳解

    Nginx中虛擬主機(jī)的三種配置方式詳解

    本文將深入探討如何通過(guò) Nginx 實(shí)現(xiàn)基于域名、端口、IP 地址的多站點(diǎn)部署,覆蓋從基礎(chǔ)配置到高階實(shí)戰(zhàn)的完整路徑,并結(jié)合 Java 應(yīng)用場(chǎng)景提供可運(yùn)行的示例代碼,幫助你構(gòu)建一個(gè)穩(wěn)定、可擴(kuò)展、安全的多站點(diǎn)服務(wù)架構(gòu)
    2026-07-07
  • nginx自定義變量與內(nèi)置預(yù)定義變量的使用

    nginx自定義變量與內(nèi)置預(yù)定義變量的使用

    這篇文章主要介紹了nginx自定義變量與內(nèi)置預(yù)定義變量的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • nginx全局塊的user指令的實(shí)現(xiàn)示例

    nginx全局塊的user指令的實(shí)現(xiàn)示例

    user用于配置運(yùn)行Nginx服務(wù)器的worker進(jìn)程的用戶和用戶組,本文主要介紹了nginx全局塊的user指令的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-07-07

最新評(píng)論

崇州市| 宁城县| 克什克腾旗| 基隆市| 昌宁县| 镇赉县| 西藏| 长子县| 泌阳县| 双峰县| 白河县| 民勤县| 汉沽区| 自治县| 平果县| 临湘市| 泗水县| 庐江县| 建昌县| 青龙| 芒康县| 蓝山县| 德安县| 梨树县| 平原县| 万山特区| 田林县| 南涧| 新田县| 阳山县| 曲靖市| 南江县| 滨州市| 瑞昌市| 荔波县| 鲁甸县| 海安县| 乌审旗| 玉龙| 杭锦后旗| 宁陵县|