漂亮人妻洗澡被公强_JULIA手机在线观看精品_激情内射亚州一区二区三区爱妻_少妇人妻精品一区二区_中文字幕人妻被公上司喝醉在线

資訊> 正文

世界快報(bào):通過Nginx反向代理,重定向鏈接地址

2023-03-28 17:16:28 來源:騰訊云

對別人的意見要表示尊重。千萬別說:“你錯(cuò)了?!薄突?/p>


【資料圖】

近期遇到個(gè)需求,多人協(xié)作分享,具體業(yè)務(wù)這里就不詳細(xì)介紹了。有一部分業(yè)務(wù)是需要把分享鏈接通過公眾號、郵箱、短信的方式進(jìn)行推送,公眾號和郵箱都還好 沒有字符限制,但短信就會(huì)有字符限制,我們使用的阿里的短信服務(wù),通知類型的短信服務(wù)是有大概70個(gè)字的限制要求,因此咱們的這個(gè)鏈接就不能是全部的鏈接了,不然一個(gè)鏈接就到了字符限制了,給產(chǎn)品的發(fā)揮空間就是0,因此咱們需要把這個(gè)鏈接縮減成極短,怎么做呢?第一想到就是可以使用Nginx的反向代理進(jìn)行實(shí)行。言歸正傳 直接開始。

原始鏈接地址:https://baidu.com/c/aFJ@4512 重定向地址:https://baidu.com/share.html#/c/aFJ@4512

以上鏈接都為虛擬鏈接。

這樣就可以給產(chǎn)品省出一些發(fā)揮的空間,當(dāng)然了上述只是示例,還可以用于其他的業(yè)務(wù),舉一反三。

Nginx概述

Nginx是一款輕量級的Web服務(wù)器和反向代理服務(wù)器。它的設(shè)計(jì)目標(biāo)是高性能、高并發(fā)、低內(nèi)存占用。因此,Nginx廣泛應(yīng)用于Web服務(wù)的負(fù)載均衡、反向代理、HTTP緩存以及靜態(tài)資源服務(wù)等場景中。

Nginx具有高度的可擴(kuò)展性,它可以通過添加模塊來實(shí)現(xiàn)各種復(fù)雜的功能,例如SSL加密、URL重寫、請求限流等。

Nginx配置

server {         listen       443 ssl;         server_name  ~^(test+.)?\.beta\.baidu\.cn$;        location ~ "^/c/([a-zA-Z0-9_]{2,11})"{            # 重定向到 share.html 頁面,并在 URL 后面添加原始 URI            return 301 $scheme://$http_host/share.html#/c/$1;        }}

腳本含義

上述腳本定義了一個(gè)Nginx服務(wù)器的配置,它監(jiān)聽443端口,并設(shè)置了一個(gè)server_name模式,用于匹配所有以test.或testtest.開頭,以.beta.baidu.cn結(jié)尾的請求。

該腳本還定義了一個(gè)location模式,用于匹配所有以/c/開頭,后面跟著2到11位字母、數(shù)字或下劃線的請求URI。當(dāng)匹配到該模式時(shí),Nginx會(huì)返回301重定向響應(yīng),將請求重定向到surveyList.html頁面,并在URL后面添加原始URI中的/c/部分。

這個(gè)腳本的作用是將URI重定向到一個(gè)指定頁面,并將原始URI中的參數(shù)傳遞給該頁面。例如,如果請求的URI為/c/abc123,Nginx會(huì)將其重定向到/share.html#/c/abc123,保留原始URI中的參數(shù)abc123。

Location含義及用法

在Nginx配置文件中,location指令用于定義服務(wù)器對請求的響應(yīng)行為。location指令后面跟著的是一個(gè)URI模式,它可以是一個(gè)字符串或正則表達(dá)式。

當(dāng)請求的URI匹配到某個(gè)location模式時(shí),Nginx就會(huì)按照該模式下的配置來處理請求。location指令可以設(shè)置很多屬性,例如root、proxy_pass、rewrite等。這些屬性可以控制Nginx對請求的響應(yīng)行為,例如返回靜態(tài)文件、轉(zhuǎn)發(fā)請求到其他服務(wù)器、重寫請求URI等。

其他變量

在上述腳本中,還用到了一些重要的變量,它們包括$scheme、$http_host和$1。

$scheme變量:該變量表示請求的協(xié)議類型,例如http或https。在上述腳本中,$scheme變量被用于構(gòu)造重定向URI時(shí),以確保使用與原始請求相同的協(xié)議類型。$http_host變量:該變量表示請求的主機(jī)名和端口號,例如baidu.com。在上述腳本中,$http_host變量也被用于構(gòu)造重定向URI時(shí),以確保使用與原始請求相同的主機(jī)名和端口號。$1變量:該變量表示正則表達(dá)式中第一個(gè)括號內(nèi)匹配的內(nèi)容。在上述腳本中,$1變量被用于提取URI中的參數(shù),然后將其添加到重定向URI中。

這些變量都是Nginx內(nèi)置的變量,在配置文件中使用時(shí)需要加上"$"符號。它們提供了靈活的配置選項(xiàng),使得Nginx可以根據(jù)不同的請求動(dòng)態(tài)地生成響應(yīng)結(jié)果。

總結(jié)

Nginx是一款高性能、高可擴(kuò)展性的Web服務(wù)器和反向代理服務(wù)器。location指令和正則表達(dá)式是Nginx配置文件中常用的關(guān)鍵字,用于控制Nginx對請求的響應(yīng)行為。在上述腳本中,我們使用location指令和正則表達(dá)式來重定向URI,并使用一些重要的內(nèi)置變量來構(gòu)造重定向URI。這些技術(shù)可以幫助我們更好地控制Nginx的行為,提高Web服務(wù)的性能和可靠性。

關(guān)鍵詞:

上一篇:大頭兒子小頭爸爸新版_王剛 兒子

下一篇:最后一頁

  • 資訊
  • 業(yè)界
  • 行情