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

nginx中根據(jù)請求參數(shù)的不同將請求轉(zhuǎn)發(fā)到不同的服務(map模塊的使用)

這篇具有很好參考價值的文章主要介紹了nginx中根據(jù)請求參數(shù)的不同將請求轉(zhuǎn)發(fā)到不同的服務(map模塊的使用)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需求:有一個文本翻譯的接口,需要根據(jù)原語、目標語、以及apikey的不同轉(zhuǎn)發(fā)到不同的服務;

實現(xiàn):可以使用Nginx的map模塊來實現(xiàn)基于請求參數(shù)的轉(zhuǎn)發(fā)。具體實現(xiàn)步驟如下:

在Nginx配置文件中定義一個map塊,用于根基請求參數(shù)判斷對應的轉(zhuǎn)發(fā)地址,$arg_apikey是獲取請求參數(shù)中的apikey,from、to同理,如果請求參數(shù)中沒有param參數(shù),將會使用default的值,基本配置如下:

    map "$arg_apikey:$arg_from:$arg_to" $myServer {
        "mykey:zh:en" "172.16.1.3";
        "mykey:zh:ja" "172.16.1.3";
        "mykey:en:zh" "172.16.1.3";
        "mykey:en:ja" "172.16.1.3";
        default "172.16.1.2";
    }

注意:map塊的定義應該放在http塊中,而不是server塊中,以確保map塊能夠被所有的server塊共享

然后在Nginx的server塊中,就可以使用變量$myServer作為proxy_pass的參數(shù),就實現(xiàn)了需要根據(jù)原語、目標語、以及apikey的不同轉(zhuǎn)發(fā)到不同的服務的需求,如下:

server {
    listen       80;
    location / {
        proxy_pass  $myServer;
    }
}

全量配置:文章來源地址http://www.zghlxwxcb.cn/news/detail-576030.html

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main escape=json  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;

    charset utf-8;
 
    map "$arg_apikey:$arg_from:$arg_to" $myServer {
        "mykey:zh:en" "172.16.1.3";
        "mykey:zh:ja" "172.16.1.3";
        "mykey:en:zh" "172.16.1.3";
        "mykey:en:ja" "172.16.1.3";
        default "172.16.1.2";
    }
    server {
        listen      80 default_server;
        listen      [::]:80 default_server;
        charset     utf-8;
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods *;

        location ^~/NiuTransServer/translation {
          proxy_pass  http://$myServer;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

}

到了這里,關于nginx中根據(jù)請求參數(shù)的不同將請求轉(zhuǎn)發(fā)到不同的服務(map模塊的使用)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • Nginx-請求轉(zhuǎn)發(fā)

    Nginx-請求轉(zhuǎn)發(fā)

    前端通過請求固定的ng地址(http://localhost:9001),nginx就根據(jù)請求路徑,把根據(jù)請求的關服務名稱,自動將請求轉(zhuǎn)發(fā)到對應的服務上面。 修改conf目錄下面的nginx.conf配置文件。 修改ng的默認端口80改成81。 在http{}里面,添加如下內(nèi)容: listen:監(jiān)聽端口 server_name:主機 ~ :表示執(zhí)

    2024年02月13日
    瀏覽(12)
  • nginx的請求轉(zhuǎn)發(fā)配置

    nginx的請求轉(zhuǎn)發(fā)配置

    去官網(wǎng)下載nginx后解壓 在當前目錄打開cmd窗口輸入nginx.exe 即可啟動服務 若想停止當前服務 輸入命令nginx.exe -s stop 快速關閉nginx服務。 (注意使用Ctrl+C或者直接關閉黑窗口是不能停止服務的 ) 使用Nginx來完成請求的轉(zhuǎn)發(fā) 負責分配請求的轉(zhuǎn)發(fā)到的服務其他命令: nginx -s quit 優(yōu)雅的

    2024年02月13日
    瀏覽(20)
  • Nginx轉(zhuǎn)發(fā)post請求變get請求

    Nginx轉(zhuǎn)發(fā)post請求變get請求

    最近用nginx轉(zhuǎn)發(fā)請求,但是明明是post請求,打到服務上確實get請求,body中的參數(shù)都沒了,于是去查背后詳細的原因。 Nginx配置 ip及端口:192.20.81.34:8081 conf關鍵配置: 請求連接 1.http請求被轉(zhuǎn)發(fā)至https請求引起重定向,導致post變get,顯然這個和我的情況無關 2.location后連接多

    2023年04月08日
    瀏覽(28)
  • 【python】python根據(jù)傳入?yún)?shù)不同,調(diào)用不同的方法

    大家好,我是木頭左。 今天介紹三種不同方法實現(xiàn)根據(jù)傳入?yún)?shù)不同,調(diào)用不同的方法。 使用條件語句 在Python中,可以使用條件語句(如if-elif-else語句)來根據(jù)傳入的參數(shù)調(diào)用不同的方法。以下是一個示例: 在上述示例中,我們定義了三個不同的方法(method1,method2和met

    2024年02月09日
    瀏覽(16)
  • 使用nginx實現(xiàn)請求轉(zhuǎn)發(fā)的功能

    nginx(反向代理服務器)主要功能 請求轉(zhuǎn)發(fā) 負載均衡 動靜分離 配置nginx,實現(xiàn)請求轉(zhuǎn)發(fā)的功能 找到nginx配置文件 在nginx.conf中進行配置 (1)最好將nginx默認的80端口修改為81 (2)配置nginx轉(zhuǎn)發(fā)規(guī)則 (3)具體配置 修改config/dev.env.js中的BASE_API 重啟nginx

    2024年02月11日
    瀏覽(21)
  • nginx 如何將 https 請求轉(zhuǎn)發(fā)到 http

    nginx 如何將 https 請求轉(zhuǎn)發(fā)到 http

    網(wǎng)站之前是 https 的,通過 nginx 設置好了,現(xiàn)在不想用 https 了,但發(fā)散到外界的一些網(wǎng)址還是 https 的,此時只能通過 nginx 去轉(zhuǎn)發(fā) https 請求到 http 才能實現(xiàn)之前的鏈接能正常訪問。 具體設置如下: https 的其它設置不需要動,只需要在 server 字段添加一條:

    2024年02月11日
    瀏覽(21)
  • nginx負載轉(zhuǎn)發(fā)源請求http/https:X-Forwarded-Proto及nginx中的轉(zhuǎn)發(fā)報頭

    今天在排查服務器的問題時最后定位到服務器因為經(jīng)過了運維這一層的處理,轉(zhuǎn)發(fā)過來的請求不管用戶請求的是https還是http,我們的proxy服務器收到的都是80端口上的http。于是聯(lián)系相關部門了解有沒有現(xiàn)成的可用的這樣一個字段來獲得這個值。公司用的也是標準報頭,即X-Fo

    2024年02月16日
    瀏覽(18)
  • Nginx接收Http協(xié)議請求轉(zhuǎn)發(fā)使用Https協(xié)議

    公司使用阿里的apigateway,規(guī)定不太友好,同是SIT環(huán)境,A系統(tǒng)的SIT1環(huán)境居然不能調(diào)用B系統(tǒng)的SIT2環(huán)境的接口。因為各個系統(tǒng)之間部署的SIT環(huán)境數(shù)量不同A系統(tǒng)可能只有1套,B系統(tǒng)可能有8套,這樣的話,可能會隨時切換調(diào)用B系統(tǒng)的環(huán)境,管理員不允許,于是想著用Nginx做下轉(zhuǎn)發(fā)。

    2024年02月08日
    瀏覽(28)
  • Nginx將請求轉(zhuǎn)發(fā)至后端應該怎么做?

    在nginx的配置文件中新建一個server監(jiān)聽前端部署的端口 然后在server中添加一個location,就是把訪問路徑指向前端項目打包后的地址 在部署前后端分離項目時,通常都要使用nginx把前端的請求轉(zhuǎn)發(fā)到后端的接口上去,這就要配置nginx的proxy_pass功能。 代理轉(zhuǎn)發(fā)需要注意的事兒 在

    2024年02月04日
    瀏覽(20)
  • tengine/nginx https請求 轉(zhuǎn)發(fā) http upstream

    當前的互聯(lián)網(wǎng)應用基本都要支持https協(xié)議,而當瀏覽器頭通過https協(xié)議將請求發(fā)到到負責負載的nginx后,會由當前nginx再以http協(xié)議向后端upstream進行請求,之所以這么做是因為https協(xié)議的安全性也帶來的額外的性能消耗。而源端基本都是在一個內(nèi)網(wǎng)里面的,對于通訊協(xié)議的安全性

    2024年01月23日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包