欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結(jié)

 更新時(shí)間:2023年06月06日 10:33:05   作者:逆流°只是風(fēng)景-bjhxcc  
本文主要介紹了nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

直接用return簡單方便 return URL; 顯示跳轉(zhuǎn)后新的網(wǎng)絡(luò)地址

proxy_pass配置可以顯示原來的網(wǎng)頁地址

以下參考:

return 指令

  • 在重定向滿足兩個(gè)條件時(shí)適用:
  • 重寫的 URL 適用于每個(gè)匹配的 server 或 location 的請求
  • 可以使用標(biāo)準(zhǔn)的 NGINX 變量構(gòu)建重寫的 URL

return 指令簡單高效,建議盡量使用 return,而不是 rewrite。

return 指令放在 server 或 location 上下文中。語法很簡單

return code [text];
return code URL;
return URL;
# 下面代碼中,listen 指令表明 server 塊同時(shí)用于 HTTP流量。
# server_name 指令匹配包含域名 ‘www.old-name.com' 的請求。return 指令告訴 Nginx 停止處理請求,直接返回 301 (Moved Permanently) 代碼和指定的重寫過的 URL 到客戶端。
# $scheme 是協(xié)議(HTTP 或 HTTPS),$request_uri 是包含參數(shù)的完整的 URI。
server{
    listen         80;
    server_name www.old-name.com;
    # return 指令的第一個(gè)參數(shù)是響應(yīng)碼。第二個(gè)參數(shù)可選,可以是重定向的 URL
    # location 和 server 上下文中都可以使用 return 指令。
    return 301 $scheme://www.new-name.com$request_uri;
}

rewrite

rewrite 規(guī)則會改變部分或整個(gè)用戶請求中的 URL,主要有兩個(gè)用途:

通知客戶端,請求的資源已經(jīng)換地方了。例如網(wǎng)站改版后添加了 www 前綴,通過 rewrite 規(guī)則可以將所有請求導(dǎo)向新站點(diǎn)。
控制 Nginx 中的處理流程。例如當(dāng)需要?jiǎng)討B(tài)生成內(nèi)容時(shí),將請求轉(zhuǎn)發(fā)到應(yīng)用程序服務(wù)器。try_files 指令經(jīng)常用于這個(gè)目的。

語法:
rewrite regex URL [flag];

  • flag標(biāo)志位:
  • last:停止處理當(dāng)前的 ngx_http_rewrite_module 指令集,并開始對匹配更改后的 URI 的新 location 進(jìn)行搜索(再從 server 走一遍匹配流程)。此時(shí)對于當(dāng)前 server 或 location 上下文,不再處理 ngx_http_rewrite_module 重寫模塊的指令。
  • break:停止處理當(dāng)前的 ngx_http_rewrite_module 指令集.
  • last 和 break 的區(qū)別及共同處:
  • last 重寫 url 后,會再從 server 走一遍匹配流程,而 break 終止重寫后的匹配
  • break 和 last 都能阻止后面的 rewrite 指令再次執(zhí)行
  • redirect:返回包含 302 代碼的臨時(shí)重定向,在替換字符串不以"http://","https://“或”$scheme"開頭時(shí)使用.
  • permanent:返回包含 301 代碼的永久重定向。
  • rewrite 指令只能返回代碼 301 或 302。要返回其他代碼,需要在 rewrite 指令后面包含 return 指令。

proxy_pass

proxy_pass指令中在nginx的兩個(gè)模塊都有

ngx_http_proxy_module的proxy_pass:

語法: proxy_pass URL;
場景: location, if in location, limit_except
說明: 設(shè)置后端代理服務(wù)器的協(xié)議(protocol)和地址(address),以及l(fā)ocation中可以匹配的一個(gè)可選的URI。協(xié)議可以是"http"或"https"。地址可以是一個(gè)域名或ip地址和端口,或者一個(gè) unix-domain socket 路徑。

詳見官方文檔: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

ngx_stream_proxy_module的proxy_pass:

語法: proxy_pass address;
場景: server
說明: 設(shè)置后端代理服務(wù)器的地址。這個(gè)地址(address)可以是一個(gè)域名或ip地址和端口,或者一個(gè) unix-domain socket路徑。
詳見官方文檔: http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_pass

兩個(gè)proxy_pass的關(guān)系和區(qū)別:

  • 在兩個(gè)模塊中,兩個(gè)proxy_pass都是用來做后端代理的指令.
  • ngx_stream_proxy_module模塊的proxy_pass指令只能在server段使用,只需要提供域名或ip地址和端口,可以理解為端口轉(zhuǎn)發(fā),可以使tcp端口,也可以是udp端口.
  • ngx-http-proxy-module模塊中的proxy_pass指令需要在location段,location中的if段,limit_except段中使用,處理需要提供域名或ip地址和端口外,還需要提供協(xié)議.如 “http” 或 “https”,還有一個(gè)可選的url可以配置.

proxy_pass使用詳解: 現(xiàn)在使用 http://test.yeguxin.top/proxy/aaa/bbb.text

第一種: 絕對路徑.    proxy_pass http://127.0.0.1:8080; 后面8080沒有 “/”

第二種:相對路徑.    proxy_pass http://127.0.0.1:8080; 后面8080有 “/”

第三種    proxy_pass http://127.0.0.1:8080/static; 后面static沒有 “/”

第四種    proxy_pass http://127.0.0.1:8080/static; 后面static有 “/”

最基本proxy_pass 用法

 server {
    listen      80;
    server_name chat.paas.scorpio.uat.newtank.cn;
     # 轉(zhuǎn)發(fā)請求到 http://www.example.com
    location / {
        proxy_pass http://www.example.com;
    }
}

到此這篇關(guān)于nginx配置域名轉(zhuǎn)發(fā)到其他域名的幾種方法小結(jié)的文章就介紹到這了,更多相關(guān)nginx配置域名轉(zhuǎn)發(fā)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論