前后端請求之nginx配置

問題: 前端發送的請求,是如何請求到后端服務器的?
如,前端請求地址:http://loclhost/api/employee/login:
在這里插入圖片描述

后端相應請求地址:http://loclhost:8080/admin/employee/login
在這里插入圖片描述
在這里插入圖片描述
回答: 使用nginx進行反向代理,即將前端發送的動態請求由nginx轉發到后端服務器。

nginx代理的好處:

使用nginx進行反向代理的好處:

  • 提高訪問速度:nginx可以緩存數據,當請求同樣的接口地址時,無需請求真正的后端服務,直接將nginx中緩存的數據響應給前端,從而提高了響應速度。

  • 進行負載均衡:系統上線之后,有可能訪問壓力較大,后端可能需要部署多臺服務器構成服務器集群。此時,nginx可以作為負載均衡器,將前端發過來的大量請求均衡的分配給后端的各個服務器,如下圖所示:
    在這里插入圖片描述

  • 保證后端服務安全:在真實企業項目當中,很多后端服務并沒有直接暴露給互聯網,而是部署在公司內部的局域網內的,并不是對外開放的,因此通過前端并不能直接請求到后端的服務的,所以需要將前端請求發送到nginx服務器,然后nginx服務器走內網發送到后端服務器,如下圖所示:
    在這里插入圖片描述

如何實現相關nginx配置:

在這里插入圖片描述
在這里插入圖片描述
負載均衡策略:
在這里插入圖片描述

舉例


user  root;
worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;#gzip  on;map $http_upgrade $connection_upgrade{default upgrade;'' close;}upstream webservers{server 127.0.0.1:8080 weight=90 ;#server 127.0.0.1:8088 weight=10 ;}server {listen       80;server_name  localhost;location / {root   /home/zxy/Projects/CangQiong/FrontEnd/nginx-1.20.2/html/sky;index  index.html index.htm;}# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# 反向代理,處理管理端發送的請求location /api/ {proxy_pass   http://localhost:8080/admin/;#proxy_pass   http://webservers/admin/;}# 反向代理,處理用戶端發送的請求location /user/ {proxy_pass   http://webservers/user/;}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214321.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214321.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214321.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用MfgTool燒寫前需準備的文件

一. 簡介 本文我們就來學習,如何將我們編譯的 uboot,zImage(內核鏡像),xxx.dtb設備樹文件,還有制作的根文件系統,這四個文件燒寫到開發板中,最后 開發板能正常啟動。 本文這里使用…

【日志技術】附Logback入門教程

文章目錄 日志概論日志的體系Logback快速入門日志配置文件配置日志級別 日志概論 什么是日志?其實可以通過下面幾個問題來了解的。 系統系統能記住某些數據被誰操作,比如被誰刪除了?想分析用戶瀏覽系統的具體情況,比如挖掘用戶的…

一個簡單的Python自動化測試 logging 日志模塊,為何會難住一個工作6年的測試?

寫Python程序的時候, 我們經常需要寫日志, 以便調試程序,發現問題,以及查看程序的運行狀態。 Python自帶了logging模塊,可以將日志保存到.txt文件中, 也可以輸入到界面上。 我們希望日志有一定的格式, 比…

【性能優化】性能優化實戰

一、背景 在做code review的時候,經常會發現,因為開發習慣問題,很多研發人員喜歡在for循環中查詢數據庫。今天用一個真實例子,記錄一次查詢性能優化的例子 二、示例 代碼如下: classmethod fn_performance() def get_task_ins…

Linux常用調試工具gdb

程序編譯后,調試是十分重要的環節,如何更好更快的定位程序中的問題, 是加快程序開發進度的重要因素。Gdb 調試器是一款 GNU 開發組織并發布的 UNIX/Linux 下的程序調試工 具。GDB調試 編譯要點 對代碼進行編譯,注意一定要加上選項…

【C語言】【數據結構】自定義類型:結構體

引言 這是一篇對結構體的詳細介紹,這篇文章對結構體聲明、結構體的自引用、結構體的初始化、結構體的內存分布和對齊規則、庫函數offsetof、以及進行內存對齊的原因、如何修改默認對齊數、結構體傳參進行介紹和說明。 ? 豬巴戒:個人主頁? 所屬專欄&am…

Ubuntu——永久掛載/卸載硬盤

Ubuntu——永久掛載/卸載硬盤 一、掛載1. 查詢硬盤2. 格式化硬盤3. 掛載硬盤4. 開機自動掛載5. 查看掛載是否成功 二、取消掛載參考資料: 一、掛載 1. 查詢硬盤 sudo fdisk -l2. 格式化硬盤 # 格式化硬盤(/dev/sda)的文件系統,這里格式化為 ext4 系統…

面試經典150題(3-4)

leetcode 150道題 計劃花兩個月時候刷完,今天(第二天)完成了兩道(3-4)150: (26. 刪除有序數組中的重復項) 題目描述: 給你一個 非嚴格遞增排列 的數組 nums ,請你 原地 刪除重復出現的元素,使…

C#生成Token字符串

Token字符串來保證數據安全性,如身份驗證、跨域訪問等。但是由于Token字符串的長度比較長,可能會占用過多的空間和帶寬資源,因此我們需要生成短的Token字符串 方法一:使用Base64編碼 Base64編碼是一種常用的編碼方式&#xff0c…

測試:接口參數測試

接口參數測試是接口測試中非常重要的一部分,主要是為了驗證接口在不同參數輸入下的行為和響應。下面詳細介紹一下接口參數測試的相關內容: 參數必填與非必填測試:需要測試接口對必填參數和非必填參數的處理。對于必填參數,不提供…

【學習筆記】LLM for Education

ChatGPT has entered the classroom: how LLMs could transform education 前言IntroductionThe risks are realEmbracing LLMsIntroducing the AI tutorAugmenting retrievalWill it catch on?總結 前言 一篇來自Nature的文章,探討了教育行業的不同參與者&#x…

webSRc實現瀏覽器播放rtsp【海康】

先上代碼 <template><div>video的配置自己寫<video id"video" autoplay width"900" height"900"></video></div> </template><script> export default {name: index1,data() {return {webRtcServer: …

WampServer本地部署結合內網穿透實現公網訪問本地服務

文章目錄 前言1.WampServer下載安裝2.WampServer啟動3.安裝cpolar內網穿透3.1 注冊賬號3.2 下載cpolar客戶端3.3 登錄cpolar web ui管理界面3.4 創建公網地址 4.固定公網地址訪問 前言 Wamp 是一個 Windows系統下的 Apache PHP Mysql 集成安裝環境&#xff0c;是一組常用來…

ESP32-Web-Server編程-通過 Base64 編碼在網頁中插入圖片

ESP32-Web-Server編程-通過 Base64 編碼在網頁中插入圖片 概述 不同于上節 ESP32-Web-Server編程-在網頁中通過 src 直接插入圖片,本節引入 Base64 編碼來顯示圖片。 Base64 是一種用64個字符來編碼表示任意二進制數據的方法。任何符號都可以轉換成 Base64 字符集中的字符,…

在做題中學習(31):電話號碼的字母組合(全排列)

17. 電話號碼的字母組合 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;既然要排列組合&#xff0c;就得先根據數字字符取出來 所以先定義一個string類的數組通過下標取到每個數字對應的映射。 string _numsTostr[10]{"","","abc"…

聊聊AsyncHttpClient的KeepAliveStrategy

序 本文主要研究一下AsyncHttpClient的KeepAliveStrategy KeepAliveStrategy org/asynchttpclient/channel/KeepAliveStrategy.java public interface KeepAliveStrategy {/*** Determines whether the connection should be kept alive after this HTTP message exchange.…

進程的相關知識

進程基本概念&#xff1a;1、進程是程序的一次執行過程&#xff0c;進程是資源分配的基本單位&#xff1b;2、每個進程都會分配自己的0至3G的內存空間&#xff0c;這個0至3G的內存空間可以有多份&#xff0c;但是3G至4G的內核空間獨一份&#xff1b;3、進程其實是內核創建的&am…

gitee對接使用

1.創建一個文件夾 2.進入Gitee接受對方項目編輯 3.打開終端初始化一開始創建的文件夾 git init 3.1打開終端 3.2輸入git.init 4.克隆對方的項目 4.1進入Gitee復制對方項目的路徑 4.2在編輯器終端內克隆對方項目 git clone 網址 如此你的編輯器就會出現對方的項目 …

小紅書AI文章寫作工具,免費的小紅書AI寫作工具有哪些

社交媒體已經成為人們交流、分享生活和獲取信息的主要平臺之一。而在這眾多社交媒體中&#xff0c;小紅書以其獨特的社區氛圍和內容特色而備受矚目。如何更高效地進行小紅書文章創作&#xff0c;本文將深入研究小紅書文章AI寫作工具。 小紅書文章AI寫作工具背后的技術 隨著人工…

Java基于Rest Assured自動化測試接口詳解

前言 不知道大家的項目是否都有對接口API進行自動化測試&#xff0c;反正像我們這種小公司是沒有的。由于最近一直被吐槽項目質量糟糕&#xff0c;只能研發自己看看有什么接口測試方案。那么在本文中&#xff0c;我將探索如何使用 Rest Assured 自動化 API 測試&#xff0c;Re…