最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nginx 代理域名到另外一個域名的實現(xiàn)方法

 更新時間:2024年05月27日 11:18:37   作者:小果子^_^  
本文主要介紹了nginx 代理域名到另外一個域名的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

nginx 代理域名到另外一個域名

server {
		listen	80;
		server_name  原域名;
		location / {  
			#return 301 http://新域名$request_uri;  # 重定向到新域名  
			proxy_pass	http://新域名/;
			proxy_redirect	http://原域名/ http://新域名/;
		} 
	}
server {
        listen       80;
        server_name  新域名;
		
		# websocket代理
		#location /webSocket/chat {
		#	 proxy_pass  http://xxx.xxx.com/webSocket/chat;
        #    proxy_set_header Host $host;
        #     proxy_set_header Upgrade 'websocket';
        #     proxy_set_header Connection 'Upgrade';
		#	 proxy_connect_timeout 4s;
		#	 proxy_read_timeout 7200s; #兩個小時
		#	 proxy_send_timeout 12s;
		#}
		
        location / {		
			proxy_pass	http://localhost:8080;
            root   html;
            index  index.html index.htm;
			proxy_set_header   Host             $host;
			proxy_set_header   X-Real-IP        $remote_addr;						
			proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
		
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

注意:用return,可以重定向到新域名的頁面,但是請求方法是有問題的

上述代碼跑了幾天后,不起作用了,又更新了其它代碼

server {
		listen	80;
		server_name  www.old.com;
		
		location / {  
			proxy_pass http://www.new.com;
			proxy_redirect off;
		} 
	}

上述代碼又修改了一下

server {
		listen	80;
		server_name  www.old.com;
	
		location / {  
			proxy_set_header Host www.new.com;
			return 307 http://www.new.com$request_uri;  # 重定向到新域名  
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			#proxy_redirect	http://www.new.com http://www.yyhkjt.com;
			#rewrite ^(.*)$ http://www.new.com$1 permanent;
			#rewrite ^(.+)$ $scheme://www.new.com$1 redirect;
			#return 301 $scheme://www.new.com$request_uri;
			#proxy_pass	http://www.new.com; 
		} 
	}

postman請求會將post請求發(fā)送兩次,并且第二次會轉(zhuǎn)為get請求301:客戶端在收到 301 響應(yīng)后,會自動將 HTTP 請求轉(zhuǎn)為 GET 請求,同時將請求地址修改為重定向后的地址
307:對請求類型不做轉(zhuǎn)換

nginx代理轉(zhuǎn)發(fā)post請求變get請求方法

以下是常見的 Nginx HTTP 跳轉(zhuǎn) HTTPS 的方式及其對請求方法的影響:

301 Moved Permanently:該方式將所有的 HTTP 請求重定向到 HTTPS 上,并且該重定向是永久性的??蛻舳嗽谑盏?301 響應(yīng)后,會自動將 HTTP 請求轉(zhuǎn)為 GET 請求,同時將請求地址修改為重定向后的地址。這意味著,如果原始請求是 POST 請求,那么 301 重定向會將其轉(zhuǎn)變?yōu)?GET 請求。此外,瀏覽器會緩存 301 響應(yīng),下一次請求時會直接跳轉(zhuǎn)到 HTTPS 上。

302 Found / 303 See Other:這兩種方式將所有的 HTTP 請求臨時性地重定向到 HTTPS 上。302 Found 的響應(yīng)會將請求方法保持不變,同時將請求地址修改為重定向后的地址。而 303 See Other 則會將所有請求方法轉(zhuǎn)變?yōu)?GET 方法,并將請求地址修改為重定向后的地址。這兩種方式都不會緩存響應(yīng),下一次請求時會再次發(fā)起請求。

307 Temporary Redirect:該方式將所有的 HTTP 請求臨時性地重定向到 HTTPS 上,并且會保留原始的請求方法。這意味著,如果原始請求是 POST 請求,那么重定向后的請求仍然是 POST 請求。同時,請求地址也會被修改為重定向后的地址。與 302 Found 類似,307 Temporary Redirect 不會緩存響應(yīng),下一次請求時會再次發(fā)起請求。

308 Permanent Redirect:該方式將所有的 HTTP 請求重定向到 HTTPS 上,并且該重定向是永久性的。客戶端在收到 308 響應(yīng)后,會自動將 HTTP 請求轉(zhuǎn)為與原始請求方法相同的請求方法,同時將請求地址修改為重定向后的地址。與 301 Moved Permanently 不同的是,308 Permanent Redirect 不會允許瀏覽器將 POST 請求重定向到新地址。308 響應(yīng)也會被緩存,下一次請求時會直接跳轉(zhuǎn)到 HTTPS 上。

需要注意的是,不同的重定向方式可能會對請求方法、請求地址、緩存等方面產(chǎn)生不同的影響。因此,在選擇重定向方式時,需要根據(jù)具體的需求進(jìn)行選擇。通常情況下,推薦使用 301 Moved Permanently 或 308 Permanent Redirect 將 HTTP 重定向到 HTTPS 上,并且需要注意 POST 請求的處理方式

解決方法

方法1

可以使用return 307進(jìn)行轉(zhuǎn)發(fā),return 307,對請求類型不做轉(zhuǎn)換,意思就是
get----->get
post----->post
所以通過原樣轉(zhuǎn)發(fā)可以解決我們post請求會被轉(zhuǎn)化為get請求問題

具體配置方法

server {
    listen 80;
    server_name test.123.com;
	location /test/api {
	      return 307 http://192.168.1.133:8088/api;
	      proxy_set_header Host $host;
      }
 }

這樣的話 當(dāng)我們post test.123.com/test/api這個地址時請求就不會被轉(zhuǎn)化為get請求了

方法2使用 return 308方式跳轉(zhuǎn)

具體配置方法

server {
    listen 80;
    server_name example.com;
    return 308 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;
    # HTTPS 相關(guān)配置
    ...
}

在k8s ingress中配置http強(qiáng)跳https

在ingress注解中加入以下注解
nginx.ingress.kubernetes.io/force-ssl-redirect true

擴(kuò)展

當(dāng)我們要根據(jù)請求類型來過濾按照請求類型轉(zhuǎn)發(fā)到指定的地址時可以用以下方式來實現(xiàn)

upstream test123 {
server 192.168.1.133:8888 max_fails=3 fail_timeout=30s;
server {
    listen 80;
    server_name test.123.com;
	location /api/bbb {
	      if ($request_method = POST) {
	         return 307 http://192.168.1.133:8088/aaa/bbb;
	      }  
	     proxy_pass http://test123;
	     proxy_set_header Host $host;
	     }
	 }
}

當(dāng)我們使用get請求http://test.123.com/api/bbb這個地址時請求不會被轉(zhuǎn)發(fā)
當(dāng)我們使用post請求http://test.123.com/api/bbb這個地址時請求會被轉(zhuǎn)發(fā)到http://192.168.1.133:8088/aaa/bbb這個地址

到此這篇關(guān)于nginx 代理域名到另外一個域名的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)nginx 代理域名到另外域名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx實現(xiàn)靜態(tài)資源壓縮的方法詳解

    Nginx實現(xiàn)靜態(tài)資源壓縮的方法詳解

    靜態(tài)資源過大,下載耗時導(dǎo)致頁面打開慢,希望通過壓縮減小文件大小,提升下載速度,所以本文給大家介紹了Nginx實現(xiàn)靜態(tài)資源壓縮的方法,并通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • Nginx反向代理實現(xiàn)支持長連接詳解

    Nginx反向代理實現(xiàn)支持長連接詳解

    這篇文章主要給大家介紹了關(guān)于Nginx反向代理實現(xiàn)支持長連接的相關(guān)資料,文字介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06
  • Nginx中l(wèi)ocation實現(xiàn)多條件匹配的方法詳解

    Nginx中l(wèi)ocation實現(xiàn)多條件匹配的方法詳解

    在 Nginx 中,location 指令用于匹配請求的 URI,雖然 location 本身是基于單一匹配規(guī)則的,但可以通過多種方式實現(xiàn)多個條件的匹配邏輯,下面小編就來為大家介紹一下具體實現(xiàn)方法吧
    2025-03-03
  • Nginx負(fù)載均衡配置實例

    Nginx負(fù)載均衡配置實例

    這篇文章主要介紹了Nginx負(fù)載均衡配置實例,隨著互聯(lián)網(wǎng)信息的爆炸性增長,負(fù)載均衡已經(jīng)不再是一個很陌生的話題,顧名思義,負(fù)載均衡即是將負(fù)載分?jǐn)偟讲煌姆?wù)單元,既保證服務(wù)的可用性,又保證響應(yīng)足夠快,給用戶很好的體驗,需要的朋友可以參考下
    2023-07-07
  • Nginx 虛擬主機(jī)配置的三種方式(基于域名)

    Nginx 虛擬主機(jī)配置的三種方式(基于域名)

    Nginx配置虛擬主機(jī)支持3種方式:基于IP的虛擬主機(jī)配置,基于端口的虛擬主機(jī)配置,基于域名的虛擬主機(jī)配置。本文主要介紹了基于域名的實現(xiàn),感興趣的小伙伴們可以參考一下
    2018-10-10
  • Nginx服務(wù)器中的location配置詳解

    Nginx服務(wù)器中的location配置詳解

    這篇文章主要介紹了Nginx服務(wù)器中的location配置詳解,包括location的匹配順序等基本概念,需要的朋友可以參考下
    2015-08-08
  • 使用Nginx搭建文件服務(wù)器及實現(xiàn)文件服務(wù)的步驟

    使用Nginx搭建文件服務(wù)器及實現(xiàn)文件服務(wù)的步驟

    Nginx是輕巧、高效的Web服務(wù)器,用作文件服務(wù)器非常合適,但是需要一些高級功能,如FTP遠(yuǎn)程訪問、多用戶管理,可能需要選擇更為復(fù)雜的方案,例如Apache或FileZilla Server,這篇文章主要介紹了詳解如何使用Nginx搭建文件服務(wù)器及實現(xiàn)文件服務(wù),需要的朋友可以參考下
    2024-01-01
  • 使用Nginx實現(xiàn)HTTPS雙向驗證的方法

    使用Nginx實現(xiàn)HTTPS雙向驗證的方法

    這篇文章主要介紹了使用Nginx實現(xiàn)HTTPS雙向驗證的方法,涉及到單向驗證和雙向驗證的區(qū)別介紹,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • 定期刪除OpenResty/Nginx大日志文件的方法

    定期刪除OpenResty/Nginx大日志文件的方法

    這篇文章主要介紹了定期刪除OpenResty/Nginx大日志文件的方法,文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • Nginx最大連接數(shù)配置詳解

    Nginx最大連接數(shù)配置詳解

    這篇文章主要為大家詳細(xì)介紹了Nginx最大連接數(shù)配置的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論

定南县| 潍坊市| 应用必备| 永和县| 垣曲县| 金湖县| 德惠市| 平原县| 商丘市| 西华县| 天门市| 河东区| 临朐县| 托里县| 七台河市| 铜陵市| 应用必备| 嘉义县| 梁河县| 和龙市| 石楼县| 柳林县| 洛南县| 连平县| 连州市| 明星| 根河市| 兰西县| 马山县| 北碚区| 安平县| 呼和浩特市| 叙永县| 巴彦县| 伊宁县| 灌阳县| 武鸣县| 大足县| 惠来县| 镇平县| 岳池县|