国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

服務(wù)器上一個域名對應(yīng)多個前端項目的nginx轉(zhuǎn)發(fā)配置

這篇具有很好參考價值的文章主要介紹了服務(wù)器上一個域名對應(yīng)多個前端項目的nginx轉(zhuǎn)發(fā)配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

場景:

當(dāng)有兩個前端項目A,B的時候,項目A(對應(yīng)端口8000)和項目B(對應(yīng)端口8001)分別部署在服務(wù)器的不同位置,通過服務(wù)器ip+端口都能正常訪問單獨的項目A和項目B;現(xiàn)在要求兩個項目共用一個域名~~也就是說訪問http://10.111.182.xxx:8000的時候默認(rèn)訪問項目A的資源,訪問http://10.111.182.xxx:8000/pages的時候自動代理到項目B的資源

業(yè)務(wù)場景:h5嵌入原生開發(fā),有多套獨立的h5,要求嵌入原生的域名不分不變,但是路由發(fā)生變化的時候代理到不同的獨立h5項目,也就是2個前端項目,如何通過一個端口來訪問

服務(wù)器配置

部署單個項目并為其配置單獨的ngx轉(zhuǎn)發(fā)

1.將打包后的靜態(tài)資源放置服務(wù)器上,位置自己選擇但是記住路徑

2.配置nginx;通常在服務(wù)器上的/etc/nginx/conf.d

新建一個后綴為.conf的文件

server {
    #指定服務(wù)器監(jiān)聽的端口號,這里是 8001
    listen 8001;
    #定義服務(wù)器名稱,在這里是 localhost。
    server_name localhost;
    # 根請求會指向的頁面,指定服務(wù)器的根目錄,將請求映射到該目錄下的文件。
    root /home/wwwroot/testB; 
    #在響應(yīng)頭中添加跨域請求的允許訪問源。這里的配置允許來自任何來源的請求。
    add_header 'Access-Control-Allow-Origin' '*'; 
    # 根請求會指向的頁面定義請求路徑為根路徑時的處理邏輯。使用 try_files 指令嘗試按照順序查找            
     對應(yīng)的文件,如果找不到則返回 index.html。
	location / {
            try_files $uri $uri/ /index.html;	    
        }
     # 開啟gzip 壓縮
    gzip on;
    # 設(shè)置gzip所需的http協(xié)議最低版本 (HTTP/1.1, HTTP/1.0)
    gzip_http_version 1.1;
    # 設(shè)置壓縮級別,壓縮級別越高壓縮時間越長  (1-9)
    gzip_comp_level 4;
    # 設(shè)置壓縮的最小字節(jié)數(shù), 頁面Content-Length獲取
    gzip_min_length 1000;
    # 設(shè)置壓縮文件的類型  (text/html)
    gzip_types text/plain application/javascript text/css;

}

?到此B項目的部署完成可以用ip+端口進(jìn)行訪問

接下來要在A項目的ngxin配置文件中進(jìn)行代理的轉(zhuǎn)發(fā),使在訪問A項目的遇到/pages就將資源代理到B項目

server {
    listen 8000;
    server_name localhost;

    root /home/wwwroot/test-A;
 #遇到、pages轉(zhuǎn)項目B
    location ~ ^/pages/.  {
        proxy_buffer_size                       128k;
        proxy_buffers                           32 32k;
        proxy_busy_buffers_size                 128k;
        proxy_set_header   X-Forwarded-Proto    $scheme;
        proxy_set_header   Host                 $http_host;
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_pass                                      
   http://1xx.1xx.1.xx:8001$1$is_args$args;
    }
#核心對項目B的靜態(tài)資源的代理
   location ~ ^/static/  {
        proxy_buffer_size                       128k;
        proxy_buffers                           32 32k;
        proxy_busy_buffers_size                 128k;
        proxy_set_header   X-Forwarded-Proto    $scheme;
        proxy_set_header   Host                 $http_host;
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_pass                              http://1xx.1xx.1.xx:8001$request_uri;
    }
      
#默認(rèn)訪問項目A
        location / {
	
	       try_files $uri $uri /index.html$is_args$query_string;

    }
}
   

nginx同一個域名部署多個項目,nginx,筆記,nginx,服務(wù)器資源目錄如上。當(dāng)在進(jìn)行轉(zhuǎn)發(fā)的時候會發(fā)現(xiàn)nginx代理轉(zhuǎn)發(fā)后報錯,無法顯示頁面。原因是指找到了index.html文件,沒有對靜態(tài)資源js,css等進(jìn)行匹配,所以這部分資源并沒有代理到,所以訪問不了。出現(xiàn)在配置nginx的時候,proxy_pass 單獨訪問可以訪問,配置后代理不過去報錯 Unexpected token '<'。

解決辦法是找到?jīng)]有代理到的資源將其加入ngx代理匹配;例如

 location ~ ^/static/  {
        proxy_buffer_size                       128k;
        proxy_buffers                           32 32k;
        proxy_busy_buffers_size                 128k;
        proxy_set_header   X-Forwarded-Proto    $scheme;
        proxy_set_header   Host                 $http_host;
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_pass                              http://1xx.1xx.1.xx:8001$request_uri;
    }

如果資源目錄是其他的情況的就看是什么資源沒有代理到,就去配置一個

核心調(diào)試:瀏覽器打開,看資源請求是否成功,未成功的是什么資源分析未成功原因,是為代理到還是資源本身不存在,一般來說是沒有請求到資源,然后對對應(yīng)的資源進(jìn)行代理配置

tip:參數(shù)詳解

在 Nginx 的配置文件中,location ~ ^/pages/.?是一個正則表達(dá)式匹配規(guī)則,它匹配以 “/pages/” 開頭的 URL 路徑。

而?proxy_pass http://1xx.1xx.1.xxx:8001$1$is_args$args;?是將匹配到的請求代理到目標(biāo)服務(wù)器的指令。其中的?$1$is_args$args?是一個變量,表示將匹配到的路徑傳遞給代理服務(wù)器。

具體解釋如下:

  • $1?表示正則表達(dá)式?^/pages/(.*)?中的捕獲組,即匹配到的路徑片段。
  • $is_args?表示一個內(nèi)置變量,如果請求包含參數(shù)則值為 “?”,否則為空。
  • $args?表示一個內(nèi)置變量,保存請求中的參數(shù)部分(例如??key=value)。

所以,proxy_pass?配置中的?$1$is_args$args?的作用是將匹配到的路徑片段、參數(shù)部分傳遞給代理目標(biāo)的 URL。最終形成類似?http://1xx.1xx.1.xxx:8001/pages/abc?key=value?的代理請求。

如果在?proxy_pass?配置中沒有?$1,則代表沒有使用正則表達(dá)式捕獲組來獲取匹配到的路徑片段。在這種情況下,proxy_pass?配置將直接代理原始請求的完整 URL(包括路徑、參數(shù)、協(xié)議等)到目標(biāo)服務(wù)器。

例如,假設(shè)原始請求的 URL 是?http://example.com/pages/abc?key=value,而?proxy_pass?配置為?proxy_pass http://1xx.1xx.1.xxx:8001;,那么代理服務(wù)器將會將請求發(fā)送到?http://1xx.1xx.1.xxx:8001,并保留原始的路徑和參數(shù)。

需要注意的是,如果沒有使用正則表達(dá)式捕獲組來獲取路徑片段,那么目標(biāo)服務(wù)器將無法獲取和處理原始請求的路徑信息。

在 Nginx 中,$request_uri?是一個變量,它包含了當(dāng)前請求中的完整原始 URI,包括路徑和參數(shù)。當(dāng)使用?proxy_pass?指令進(jìn)行代理時,可以將?$request_uri?添加到目標(biāo) URL 中,以便將完整的原始 URI 發(fā)送到目標(biāo)服務(wù)器。

在你提供的配置中,proxy_pass?指令使用了?http://192.168.1.252:8002$request_uri;?這個目標(biāo) URL。這意味著對于每個請求,Nginx 會將完整的原始 URI 添加到目標(biāo) URL 后面,以便代理服務(wù)器可以接收完整的請求路徑和參數(shù)。

例如,如果發(fā)起的請求是?http://your-domain.com/static/js/app.js?key=value,那么?proxy_pass?將會將請求代理到?http://192.168.1.252:8002/static/js/app.js?key=value。

通過使用?$request_uri?變量,可以確保代理請求中包含原始 URI 的所有信息,以便目標(biāo)服務(wù)器正確處理和響應(yīng)請求。文章來源地址http://www.zghlxwxcb.cn/news/detail-752974.html

到了這里,關(guān)于服務(wù)器上一個域名對應(yīng)多個前端項目的nginx轉(zhuǎn)發(fā)配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 為你的阿里云服務(wù)器配置一個域名并成功訪問(入門版

    為你的阿里云服務(wù)器配置一個域名并成功訪問(入門版

    可在阿里云域名市場購買,鏈接 請注意:購買域名需要等待一定的時間,因此最好提前購買。 1.點擊阿里云主頁左上角菜單,找到“域名”項,或直接搜索也可。 點擊進(jìn)入域名列表 若是在阿里云官方購買的域名,則在列表中會直接顯示,若在其他平臺購買的域名則需要手動

    2024年02月12日
    瀏覽(24)
  • java+vue 前后端項目部署 服務(wù)器部署流程 包括nginx軟件安裝,服務(wù)器選擇,域名配置

    java+vue 前后端項目部署 服務(wù)器部署流程 包括nginx軟件安裝,服務(wù)器選擇,域名配置

    現(xiàn)在的web端項目大多數(shù)都是java+vue前后端分離的項目,都需要分開來部署,基本上都是部署在云服務(wù)器上的,這就涉及到選擇和購買服務(wù)器,以及安裝環(huán)境,本文記錄的是在機器上安裝軟件,不在docker和寶塔上安裝。下面請看詳細(xì)的步驟吧,都是自己在工作中使用過的,本人

    2024年02月13日
    瀏覽(24)
  • vue項目多個不同的服務(wù)器請求地址管理

    vue項目多個不同的服務(wù)器請求地址管理

    在vue項目開發(fā)過程中,獲取不同的數(shù)據(jù)可能會出現(xiàn)需要請求多個不同服務(wù)器地址的域名,這個時候需要對不同域名的請求地址進(jìn)行管理以及跨域的代理。 跨域配置: 在vue項目的vue.config.js文件中對devServer.proxy進(jìn)行配置,如下: axios請求封裝: 封裝axios請求的js文件中配置如下

    2024年02月04日
    瀏覽(21)
  • 華為云云耀云服務(wù)器L實例評測|用PHP從數(shù)據(jù)庫到后端到前端完整實現(xiàn)一個中秋節(jié)祝福語項目

    華為云云耀云服務(wù)器L實例評測|用PHP從數(shù)據(jù)庫到后端到前端完整實現(xiàn)一個中秋節(jié)祝福語項目

    ??作者簡介,黑夜開發(fā)者,CSDN領(lǐng)軍人物,全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者?,CSDN博客專家,阿里云社區(qū)專家博主,2023年6月CSDN上海賽道top4。 ??數(shù)年電商行業(yè)從業(yè)經(jīng)驗,歷任核心研發(fā)工程師,項目技術(shù)負(fù)責(zé)人。 ??本文已收錄于PHP專欄:PHP進(jìn)階實戰(zhàn)教程,評測專區(qū)。 ??歡迎 ??點贊?

    2024年02月08日
    瀏覽(26)
  • iis配置網(wǎng)站服務(wù)器配置端口,如何實現(xiàn)IIS多個網(wǎng)頁同一個端口?

    在Internet Information Services (IIS) 中配置多個網(wǎng)站共用同一個端口是可能的,但需要進(jìn)行一些特定的配置。以下是實現(xiàn)這一目標(biāo)的一般步驟: 創(chuàng)建多個網(wǎng)站: 首先,您需要在 IIS 中創(chuàng)建多個不同的網(wǎng)站。每個網(wǎng)站應(yīng)該有自己的根目錄和內(nèi)容。 綁定共享端口: 在每個網(wǎng)站的配置中

    2024年02月13日
    瀏覽(125)
  • nginx連接前后端分離項目 或 負(fù)載均衡映射多個服務(wù)器

    nginx連接前后端分離項目 或 負(fù)載均衡映射多個服務(wù)器

    nginx的兩種用法: 打通前后端項目,前后端分離的項目,通過nginx建立連接 負(fù)載均衡,一臺機器請求轉(zhuǎn)發(fā)至多個服務(wù)器 前端項目中的配置: 后端項目的ip和端口號就是正常的 下面看看nginx的配置文件: 將打包后的前端項目放這里: vue項目打包后會生成一個dist文件夾 放在服

    2024年02月05日
    瀏覽(23)
  • 關(guān)于 java如何集成chatgpt,如何集成到html5前端界面,如何實現(xiàn)多倫對話,如何申請域名,如何申請服務(wù)器,搭建環(huán)境(一)

    Java如何集成ChatGPT,如何集成到HTML5前端界面,如何實現(xiàn)多倫對話 隨著人工智能技術(shù)的不斷發(fā)展,聊天機器人已經(jīng)成為了人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。ChatGPT是一種基于自然語言處理技術(shù)的聊天機器人,它可以通過對話來理解用戶的需求,并給出相應(yīng)的回答。在本文中,

    2024年02月03日
    瀏覽(23)
  • 前端項目部署,阿里云服務(wù)器部署前端項目,超詳細(xì)

    前端項目部署,阿里云服務(wù)器部署前端項目,超詳細(xì)

    需求背景 :作為一個前端,特別身處于中小公司時,對于部署也需要有所了解。本次就介紹前端基礎(chǔ)的項目部署。本次使用的是阿里云服務(wù)器進(jìn)行的部署 1.準(zhǔn)備打包好的前端代碼(dist包)或者是一個html文件 2.購買阿里云服務(wù)器,并且連接 3.為阿里云服務(wù)器安裝ngnix開啟web服務(wù)

    2024年02月04日
    瀏覽(91)
  • 前端項目部署到服務(wù)器

    前端項目部署到服務(wù)器

    1.準(zhǔn)備工具 服務(wù)器:阿里云 騰訊云 華為云都可以 我這里使用的是阿里云ECS共享型(推薦) xshell:用于遠(yuǎn)程連接服務(wù)器,修改配置文件 xftp:用于連接遠(yuǎn)程服務(wù)器,將本地資源上傳到遠(yuǎn)程服務(wù)器 2.服務(wù)器設(shè)置 1.第一次需重置實例密碼 2.配置安全組規(guī)則 開啟常用的端口 22必須要開

    2024年02月04日
    瀏覽(21)
  • 如何把本地flask項目(框架)上傳到服務(wù)器(Linux),并后臺持續(xù)運行(包括requirements文件生成,python項目與域名綁定,保姆級教程)

    如何把本地flask項目(框架)上傳到服務(wù)器(Linux),并后臺持續(xù)運行(包括requirements文件生成,python項目與域名綁定,保姆級教程)

    ?2023年中旬,參加了一個比賽,需要搭建一個網(wǎng)站。在不斷探索琢磨之后,搭建了一個基于flask的web。直接上干貨: 一、首先,在本地準(zhǔn)備好自己的flask項目。包括最基本的三個文件: 然后準(zhǔn)備生成requirements.txt文件,這個文本文件會告訴服務(wù)器你的項目運行所需要的環(huán)境,即

    2024年02月04日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包