亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用Nginx代理MySQL連接并限制可訪問IP配置

 更新時間:2023年08月29日 09:42:53   作者:fkjavaer  
這篇文章主要為大家介紹了如何使用Nginx代理MySQL連接并限制可訪問IP配置示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

1.前言

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

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

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

推薦一個開源免費的 Spring Boot 實戰(zhàn)項目:

https://github.com/javastacks/spring-boot-best-practice

2.Nginx代理連接

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

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

添加過程可以參照【Nginx基本命令&不停機版本升級】一文進行,我們這里不再贅述。

既然要用到ngx_stream_core_module模塊,首當(dāng)其沖,是看看其提供的指令,我們才知道怎么來進行配置。

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;

示例:

listen 127.0.0.1:3306;
 listen *:3306;
 # 效果與listen *:3306一樣
 listen 3306;
 listen localhost:3306;

4)配置示例

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

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

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

stream  {
     upstream mysql_socket {
         server 192.168.110.101:3306;
     }
     server {
             listen 3306;
             proxy_pass mysql_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允許訪問。可以和deny指令配合使用

  • 作用域:stream, server
  • 語法:allow address | CIDR | unix: | all;

示例:

# 允許192.168.110.1訪問
 allow 192.168.110.1;
 
 # 允許192.168.110.1到192.168.255.254
 allow 192.168.110.0/16;
 
 # 允許192.168.110.1到192.168.110.254
 allow 192.168.110.0/24;
 
 # 允許所有的IP訪問
 allow all;

2)deny

該指令設(shè)置指定的IP禁止訪問。可以和allow指令配合使用。

  • 作用域:stream, server
  • 語法:deny address | CIDR | unix: | all;
# 禁止192.168.110.1訪問
 deny 192.168.110.1;
 
 # 禁止192.168.110.1到192.168.255.254
 deny 192.168.110.0/16;
 
 # 禁止192.168.110.1到192.168.110.254
 deny 192.168.110.0/24;
 
 # 禁止所有的IP訪問
 deny all;

3)配置示例

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

allow 192.168.110.100;
 deny all;

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

4.綜合案例

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

stream  {
     allow 192.168.110.100;
     deny all;
     server {
         listen 3306;
         proxy_pass 192.168.110.101:3306;
     }
 }

以上就是使用Nginx代理MySQL連接并限制可訪問IP的詳細(xì)內(nèi)容,更多關(guān)于Nginx代理MySQL連接的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Nginx配置支持WebSocket功能詳解

    Nginx配置支持WebSocket功能詳解

    Nginx配置支持WebSocket功能需要添加特定配置,網(wǎng)上通用配置只能支持ws請求,而既支持http又支持ws的配置中,使用map$http_upgrade$connection_upgrade塊來設(shè)置Connection頭的值,并指定使用HTTP/1.1版本以保持連接打開,確保Nginx版本是1.3或更高
    2024-11-11
  • Nginx出現(xiàn)403?Forbidden的幾種簡單解決方式

    Nginx出現(xiàn)403?Forbidden的幾種簡單解決方式

    這篇文章主要介紹了Nginx出現(xiàn)403?Forbidden的幾種解決思路,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Tomcat請求處理在源碼中的輪轉(zhuǎn)解析

    Tomcat請求處理在源碼中的輪轉(zhuǎn)解析

    這篇文章主要為大家介紹了Tomcat請求處理在源碼中的輪轉(zhuǎn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • Nginx 代理頭部傳遞的實現(xiàn)

    Nginx 代理頭部傳遞的實現(xiàn)

    Nginx默認(rèn)會傳遞一些頭部信息,本文就來介紹一下Nginx 代理頭部傳遞的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • Nginx配置文件詳解以及優(yōu)化建議指南

    Nginx配置文件詳解以及優(yōu)化建議指南

    Nginx是一款面向性能設(shè)計的HTTP服務(wù)器,相較于Apache、lighttpd具有占有內(nèi)存少,穩(wěn)定性高等優(yōu)勢,下面這篇文章主要給大家介紹了關(guān)于Nginx配置文件詳解以及優(yōu)化的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 詳解Nginx 和 PHP 的兩種部署方式的對比

    詳解Nginx 和 PHP 的兩種部署方式的對比

    這篇文章主要介紹了詳解Nginx 和 PHP 的兩種部署方式的對比的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 使用Nginx配置瀏覽器緩存,頁面展示更快一步

    使用Nginx配置瀏覽器緩存,頁面展示更快一步

    這篇文章主要介紹了使用Nginx配置瀏覽器緩存,頁面展示更快一步問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 關(guān)于nginx報錯405?not?allowed解決方法總結(jié)

    關(guān)于nginx報錯405?not?allowed解決方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于nginx報錯405?not?allowed解決方法的相關(guān)資料,nginx遇到post請求靜態(tài)文件會得到405錯誤,文中通過代碼介紹的非常詳細(xì),也給出了推薦方法,需要的朋友可以參考下
    2023-10-10
  • 關(guān)于Nginx中虛擬主機的一些冷門知識小結(jié)

    關(guān)于Nginx中虛擬主機的一些冷門知識小結(jié)

    這篇文章主要給大家介紹了關(guān)于Nginx中虛擬主機的一些冷門知識,文中通過圖文以及實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-03-03
  • Nginx中roxy_set_header與add_header區(qū)別舉例淺析

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

    proxy_set_header是一個 Nginx 配置指令,用于設(shè)置將要轉(zhuǎn)發(fā)到后端服務(wù)器的 HTTP 請求頭,這篇文章主要給大家介紹了關(guān)于Nginx中roxy_set_header與add_header區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2024-04-04

最新評論