在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何使用nginx反向代理功能?保姆級教程!

億佰特物聯網應用專家 ? 2024-06-21 08:21 ? 次閱讀

關于nginx

nginx是一款高性能的開源Web服務器軟件,也可以用于反向代理、負載均衡等,并且具有高性能、低內存消耗等優點。

本文我們主要講解關于nginx的反向代理功能,并在服務器上實現如下功能:

? 反向代理其他后臺服務

? 通過域名訪問后臺服務

前期準備:

? 一臺云服務器(ubuntu20.04 LTS)

? 一個可用的域名

注意:

①本文中因服務器上已經提前安裝了nginx,所以第二章(安裝nginx)中使用的系統是一個全新的本地ubuntu系統來演示,因此其ip地址為局域網地址。

② 第三章(nginx反向代理配置)中,使用的系統為云服務器ubuntu系統,其ip地址為公網地址,并且已經使用了域名進行了解析。

③若使用的是CentOS等其他系統,則部分管理命令和操作命令可能不相同,但nginx配置和使用邏輯基本相同。

安裝nginx

1.更新系統軟件包

sudo apt update


2.安裝nginx

sudo apt install nginx -y

-y選項代表安裝過程中的詢問默認為yes

安裝完成后,可以檢查系統中是否多了兩個目錄文件,/etc/nginx/和/var/www/html,其中:

/etc/nginx/:包含 NGINX 的配置文件,主要用于配置 nginx 服務器的行為,包括監聽的端口、反向代理設置、SSL/TLS 配置等。

/var/www/html:nginx默認的網站根目錄,這里存放了HTML頁面、JS文件等資源。

在本文中,我們主要講解nginx的反向代理功能,所以/var/www/html作為nginx的web服務器功能目錄,我們暫時不進行任何修改。

3.驗證nginx是否安裝成功

啟動nginx服務,并添加為系統啟動時自啟動:

sudo systemctl start nginx
sudo systemctl enable nginx

查看nginx服務當前狀態:

sudo systemctl status nginx

通過檢查狀態可以看出當前nginx服務狀態為正在running運行,并且已經enabled添加到了開機自啟動,通過下方輸出的日志也可以看出已經啟動成功。

270fba08-2f64-11ef-a655-92fbcf53809c.png

在瀏覽器使用服務器ip地址進行訪問ngxin的web服務器功能:

192.168.3.168:80

192.168.3.168 #默認訪問80端口

273a99da-2f64-11ef-a655-92fbcf53809c.png

至此可以證明nginx已經安裝成功。

nginx反向代理配置

在反向代理功能中,需要了解nginx配置文件中/etc/nginx/sites-available和/etc/nginx/sites-enabled兩個目錄:

sites-available:這個目錄包含了所有可用的虛擬主機配置文件。每個文件通常對應一個虛擬主機(一個網站)的配置。在這里你可以存放所有已經創建的虛擬主機配置文件,無論是否啟用。

sites-enabled:這個目錄包含了當前啟用的虛擬主機配置文件的符號鏈接。在 nginx啟動時,它只會讀取 sites-enabled 目錄中的配置文件。

通俗來講:虛擬主機是指同一個物理服務器上運行的不同網站或服務,available目錄存放了我們想要代理的虛擬主機的配置文件,但這些配置文件是否啟用取決于我們是否將其鏈接到了enabled目錄中,因為nginx服務只會讀取enabled目錄來進行設置,這種做法使得添加、編輯和禁用虛擬主機配置變得更加簡單和安全。

本次演示將使用nginx為emqx的管理控制臺服務(EMQX Dashboard,端口18083)完成反向代理功能。(若沒有emqx服務,也可以用于其他任何應用程序和服務,道理相同)

(1)云服務器上已經安裝并啟動了emqx服務,并且通過ip+端口能夠正常訪問EMQX管理控制臺

2757929c-2f64-11ef-a655-92fbcf53809c.png

(2)服務器ip已綁定域名,且域名已完成了DNS解析

這里需要用到二級域名,所以對域名直接進行了二級域名泛解析。

277a995e-2f64-11ef-a655-92fbcf53809c.png

(3)新增虛擬主機配置文件

例如,這里我們使用的域名為keeshow.cn,我們想將emqx管理控制臺服務通過mqtt.keeshow.cn來訪問。

新增/etc/nginx/sites-available/mqtt.keeshow.cn配置文件,配置內容為:

server {
listen 80;
listen [::]:80;
server_name mqtt.keeshow.cn;
client_max_body_size 1024m;
location / {
proxy_pass http://127.0.0.1:18083;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

server塊:定義了一個虛擬主機,用于處理特定的域名和端口的請求。

listen:80:監聽 IPv4 地址上的端口 80(HTTP 默認端口),[::]:80:監聽 IPv6 地址上的端口 80。這樣可以同時處理 IPv4 和 IPv6 的 HTTP 請求。

server_name:指定該虛擬主機響應的域名。只有請求的 Host 頭匹配 mqtt.keeshow.cn 時,才會使用這個 server 塊。

client_max_body_size:設置客戶端請求體的最大允許大小為 1024MB。這在需要上傳大文件時有用,防止請求因為過大被拒絕。

location 塊:定義了對根路徑(/)的請求的處理方式。

proxy_pass:將所有到達 mqtt.keeshow.cn 的請求代理到本地的 127.0.0.1:18083。代表 nginx接收到請求后,將它轉發給運行在本地端口 18083 的 EMQX Dashboard。

proxy_set_header:請求頭設置相關。

HOST $host:將客戶端請求的 Host 頭傳遞給后端服務器。$host 變量代表客戶端請求的主機名。

X-Forwarded-Proto $scheme:將客戶端使用的協議(HTTP或 HTTPS)傳遞給后端服務器。$scheme 變量表示請求的協議。

X-Real-IP $remote_addr:將客戶端的真實IP地址傳遞給后端服務器。$remote_addr 變量表示客戶端的IP地址。

X-Forwarded-For $proxy_add_x_forwarded_for:將客戶端的原始 IP 地址和所有代理的 IP 地址傳遞給后端服務器。$proxy_add_x_forwarded_for 變量包含客戶端的 IP 地址以及所有代理服務器的 IP 地址。

創建完成后,查看sites-available目錄可以看到新增的配置文件,同理,如果需要新增其他配置文件,也需要創建在該目錄中。

279e05ec-2f64-11ef-a655-92fbcf53809c.png

(4)鏈接虛擬主機配置文件

鏈接sites-available目錄中的配置文件鏈接到sites-enabled目錄中:

sudo ln -s /etc/nginx/sites-available/mqtt.keeshow.cn /etc/nginx/sites-enabled/

該鏈接會在sites-enabled目錄中生成一個軟連接,并指向了sites-available目錄中的原始配置文件,同理,我們也能在這里看到其他已代理服務的鏈接,他們都來自于sites-available目錄。

27b5bad4-2f64-11ef-a655-92fbcf53809c.png

完成配置后,檢查配置有無語法錯誤:

sudo nginx -t

27c64aca-2f64-11ef-a655-92fbcf53809c.png

(5)重啟nginx

#重新加載nginx配置文件
sudo systemctl reload nginx
#重新啟動nginx
sudo systemctl restart nginx


(6)通過域名訪問

完成以上步驟后,代表已經配置好了nginx的反向代理,再通過域名訪問EMQX管理控制臺服務,能夠正常訪問。

27d9582c-2f64-11ef-a655-92fbcf53809c.png

總結

nginx作為反向代理服務器,它的反向代理功能可以幫助將客戶端的請求轉發到后端的多個服務器或服務上,并將后端服務器的響應返回給客戶端。

當使用域名進行反向代理時,客戶端只能看到域名,而無法直接看到后端服務器的真實IP地址。這樣可以隱藏后端服務器的真實IP地址,增強了安全性和隱私保護。

億佰特無線通信模塊

28754f5c-2f64-11ef-a655-92fbcf53809c.png

億佰特無線模塊產品涵蓋LoRaWi-Fi藍牙ZigBee4G/5G/NB/GPRS、LoRaWAN、CAN等多種通信制式,多種工作頻段可選,自主研發,提供全方位技術支持。模塊已廣泛應用于服務機器人、工控醫療、智能家居、安防報警、環境監測新能源等領域。

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

    關注

    2

    文章

    1263

    瀏覽量

    69467
  • 服務器
    +關注

    關注

    12

    文章

    9160

    瀏覽量

    85421
  • nginx
    +關注

    關注

    0

    文章

    149

    瀏覽量

    12174
收藏 人收藏

    評論

    相關推薦

    Nginx的正向代理反向代理

    Nginx認識以及配置
    發表于 05-10 16:58

    采用Nginx反向代理解決跨域

    40Nginx反向代理功能解決跨域問題
    發表于 10-10 10:58

    Apache與Nginx 簡單對比 以及Nginx 基本使用方法

    Nginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個目前運維必備的工具之一。
    的頭像 發表于 01-31 14:42 ?8309次閱讀
    Apache與<b class='flag-5'>Nginx</b> 簡單對比  以及<b class='flag-5'>Nginx</b> 基本使用方法

    介紹一款輕量級的Web服務器、反向代理服務器Nginx

    所謂反向代理,很簡單,其實就是在location這一段配置中的root替換成proxy_pass即可。root說明是靜態資源,可以由Nginx進行返回;而proxy_pass說明是動態請求,需要進行轉發,比如
    的頭像 發表于 03-26 10:36 ?1w次閱讀
    介紹一款輕量級的Web服務器、<b class='flag-5'>反向</b><b class='flag-5'>代理</b>服務器<b class='flag-5'>Nginx</b>

    Nginx架構介紹 Nginx服務器模型分析

    Nginx是一款免費的、開源的、高性能、模塊化、輕量級的HTTP服務器、反向代理服務器以及電子郵件(IMAP/POP3)代理服務器。
    的頭像 發表于 01-10 16:32 ?9220次閱讀
    <b class='flag-5'>Nginx</b>架構介紹 <b class='flag-5'>Nginx</b>服務器模型分析

    正向代理反向代理的區別

    Nginx作為時下最流行的HTTP服務器之一,同時它是一個反向代理服務器,提到反向代理服務器,有同學可能覺得這個概念很模糊,如果說到
    的頭像 發表于 05-03 17:42 ?3514次閱讀
    正向<b class='flag-5'>代理</b>和<b class='flag-5'>反向</b><b class='flag-5'>代理</b>的區別

    Nginx的詳細知識點講解

    Nginx是一個高性能的HTTP和反向代理服務器,特點是占用內存少,并發能力強,事實上nginx的并發能力確實在同類型的網頁服務器中表現較好 ngi
    的頭像 發表于 12-26 10:25 ?2604次閱讀
    <b class='flag-5'>Nginx</b>的詳細知識點講解

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

    1.Nginx知識網結構圖 Nginx是一個高性能的HTTP和反向代理服務器,特點是占用內存少,并發能力強,事實上nginx的并發能力確實在
    的頭像 發表于 05-03 14:15 ?1652次閱讀
    如何徹底搞懂<b class='flag-5'>Nginx</b>知識網結構

    詳解Nginx高性能的HTTP和反向代理服務器

    Nginx 是一個高性能的 HTTP 和反向代理服務器,特點是占用內存少,并發能力強,事實上 Nginx 的并發能力確實在同類型的網頁服務器中表現較好。
    的頭像 發表于 03-16 11:23 ?2450次閱讀

    Nginx目錄結構有哪些

    什么是NginxNginx是一個 輕量級/高性能的反向代理Web服務器,他實現非常高效的反向代理
    的頭像 發表于 11-11 11:27 ?632次閱讀
    <b class='flag-5'>Nginx</b>目錄結構有哪些

    Nginx 如何實現高性能低消耗

    Nginx 是一個輕量級的HTTP 服務程序,相比其他服務器程序如Apache,Nginx占用內存少,穩定性高,并發處理能力強。同時Nginx 還是一個反向
    的頭像 發表于 11-11 11:31 ?580次閱讀
    <b class='flag-5'>Nginx</b> 如何實現高性能低消耗

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

    Nginx 不僅可以做反向代理,實現負載均衡。還能用作正向代理來進行上網等功能。正向代理:如果把
    的頭像 發表于 11-13 10:54 ?1116次閱讀
    <b class='flag-5'>nginx</b>使用學習之正、<b class='flag-5'>反向</b><b class='flag-5'>代理</b>

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

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

    「服務器」Nginx Proxy Manager申請cloudflare泛域名

    一概述NginxProxyManager是一個基于Nginx反向代理管理工具,它提供了一個用戶友好的Web界面,方便用戶管理和配置Nginx反向
    的頭像 發表于 12-06 01:03 ?164次閱讀
    「服務器」<b class='flag-5'>Nginx</b> Proxy Manager申請cloudflare泛域名

    Nginx代理轉發實戰:零基礎掌握服務器流量分發技巧

    Nginx 是最常用的反向代理工具之一,一個指令 proxy_pass搞定反向代理,對于接口代理
    的頭像 發表于 12-09 12:28 ?373次閱讀
    主站蜘蛛池模板: 久久久久久天天夜夜天天| japanese日本护士xx亚洲| 1000部又爽又黄的做黄禁片| 亚洲不卡视频在线| 四虎网址在线观看| 不卡视频一区二区| 日韩午夜| 97色偷偷| 成人午夜大片免费看爽爽爽| 老师下面很湿很爽很紧| 日韩第五页| 午夜影院免费版| 日韩 ed2k| 同性同男小说肉黄| 日本黄色大片在线观看| 午夜免费网站| 亚洲欧美在线观看| 日本黄色a级| 天天添天天干| 1024免费永久福利视频| 亚洲国产精品久久婷婷| 韩国免费特一级毛片| 国产亚洲精品aa在线看| 亚洲天堂婷婷| 丁香花小说| 日本69xxxxxxxx69| 三级视频在线| 天天艹天天艹| 中文字幕在线看精品乱码| 国产色女人| 亚洲涩色| 日本黄色www| 欧美一级爱操视频| 亚洲欧美色鬼久久综合| 97理论三级九七午夜在线观看| 黄色大片视频在线观看| 秋霞一级特黄真人毛片| 可以免费看黄的网址| 午夜色在线| 午夜影院毛片| 被啪漫画羞羞漫画|