精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

馬哥Linux運維 ? 來源:頭條號fkjavaer ? 2023-08-15 11:12 ? 次閱讀

1.前言

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

好巧不巧,線上業務遇到bug了,開發的小伙伴需要遠程連接MySQL來查看數據,那應該怎么辦呢?

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

2.Nginx代理連接

要實現對連接的代理轉發,我們需要一臺服務器并安裝Nginx,且與MySQL服務器處于一個內網之中,內網之間可以訪問。

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

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

1)stream

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

作用域:main

語法:stream {...}

示例:

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

2)server

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

作用域:stream

語法:server {...}

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

3)listen

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

作用域:server

語法:listen address:port;

示例:

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

4)配置示例

MySQL服務器,端口3306(單機環境)

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

MySQL服務器,端口3306(集群環境)

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

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

3.限制訪問IP

實現了對連接的代理,所有人都可以通過訪問Nginx來連接MySQL服務器,解決了外網無法連接的問題。

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

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

1)allow

該指令設置指定的IP允許訪問。可以和deny指令配合使用

作用域: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

該指令設置指定的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服務器。

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

審核編輯:湯梓紅

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

    關注

    12

    文章

    9017

    瀏覽量

    85182
  • HTTP
    +關注

    關注

    0

    文章

    501

    瀏覽量

    31056
  • 虛擬主機
    +關注

    關注

    0

    文章

    69

    瀏覽量

    11428
  • MySQL
    +關注

    關注

    1

    文章

    801

    瀏覽量

    26441
  • nginx
    +關注

    關注

    0

    文章

    143

    瀏覽量

    12163

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

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

收藏 人收藏

    評論

    相關推薦

    本地LabVIEW訪問遠程mysql

    SQL SERVER我也嘗試過,在連接字符串中寫入遠程訪問對象的IP就可以??墒?b class='flag-5'>MYSQL這個數據庫沒用過,更沒用LabVIEW對其進行過訪問
    發表于 12-15 14:38

    【NanoPi NEO試用體驗】之安裝配置Nginx環境WEB網站詳解

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

    NanoPi NEO - 可靠的Nginx 網絡服務器

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

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

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

    如何徹底搞懂Nginx知識網結構

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

    配置Nginx訪問日志

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

    如何提高Mysql數據庫的訪問瓶頸

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

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

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

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

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

    如何通過Nginx實現禁止國外IP訪問網站

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

    國外IP代理地址:提升網絡訪問體驗

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

    探索IP在線代理:解鎖網絡訪問的新途徑

    探索IP在線代理確實為我們解鎖網絡訪問提供了一種新的途徑。
    的頭像 發表于 11-04 07:34 ?127次閱讀

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

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

    海外IP代理池:提升網絡訪問速度與效率的利器

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

    IP在線代理指南:選擇、使用與優化技巧

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