.NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實(shí)現(xiàn)反向代理
前段時(shí)間發(fā)布過(guò)一個(gè)關(guān)于 YARP 的簡(jiǎn)單介紹,感興趣的小伙伴恭請(qǐng)移步看看.NET反向代理組件YARP介紹
作為反向代理,必不可少的當(dāng)然是根據(jù)域名代理轉(zhuǎn)發(fā)啦,毫無(wú)疑問(wèn),YARP 是支持通過(guò)域名代理轉(zhuǎn)發(fā)的,本文將介紹如何在配置文件中進(jìn)行域名的配置
首先,你得有一個(gè)域名,本地測(cè)試的話可以修改 host 文件,達(dá)到假裝自己有域名的效果【手動(dòng)狗頭】,有些小伙伴可能不知道怎么設(shè)置域名、和怎么修改 host 文件,下面我簡(jiǎn)單說(shuō)一下:
域名服務(wù)商
筆者手上只有一個(gè)域名,而且是華為云的,所以就拿華為云的作為介紹啦,其他的域名服務(wù)上都大同小異:
1、登錄進(jìn)入到 華為云-控制臺(tái),并展開(kāi)左上角菜單,搜索 “域名”,點(diǎn)擊進(jìn)入到 “云解析服務(wù) DNS”
2、點(diǎn)擊 “公網(wǎng)域名”,然后找到需要進(jìn)行解析的域名的對(duì)應(yīng)操作欄,點(diǎn)擊 “管理解析”
3、進(jìn)入到 “管理解析” 頁(yè)面后,點(diǎn)擊右上角的 “添加記錄集”,即可進(jìn)行域名解析配置
配置說(shuō)明:
主機(jī)記錄:簡(jiǎn)單來(lái)說(shuō)就是創(chuàng)建一個(gè)前綴,用于區(qū)分這個(gè)域名是干嘛的,例如我可以創(chuàng)建一個(gè) test.ysmc.net.cn,表示我這個(gè)域名是用于測(cè)試的,我這么說(shuō)只是為了方便理解,還是建議大家去查查正確的解析;
類(lèi)型:A-將域名指向IPv4地址;
值:就是你要指向的具體IP是多少了,因?yàn)槭菧y(cè)試用,這里直接指向了本地地址127.0.0.1;
至于其它的默認(rèn)就好,需要注意的是,設(shè)置完后并非是立馬起效果的,畢竟是需要更新緩存的,所以沒(méi)生效不要緊
本地 hosts 文件
對(duì)于沒(méi)有域名的小伙伴來(lái)說(shuō),可以通過(guò)修改本地 houst 文件,以達(dá)到同樣擁有域名的狀態(tài),而且還不受限制,想起什么名字就什么名字,非常的 nice;
1、Win+R 打開(kāi) “運(yùn)行” 對(duì)話框,輸入 hosts文件所在目錄路徑:C:\WINDOWS\system32\drivers\etc ,當(dāng)然,你也可以按照著路徑,一個(gè)一個(gè)打開(kāi),找到 hosts 文件后,右鍵編輯就OK了
這里也有一點(diǎn)需要注意的,修改完成后,如果瀏覽器是處于打開(kāi)狀態(tài),請(qǐng)關(guān)掉重新啟動(dòng),不然是不會(huì)重新加載 hosts 文件的,切記切記!
我們分別創(chuàng)建兩個(gè)域名解析,test1.ysmc.net.cn test2.ysmc.net.cn,然后開(kāi)始我們今天的主題吧!
直接上配置文件
"ReverseProxy": { "Routes": { "baidu": { "ClusterId": "baidu", "Match": { "Hosts": [ "test1.ysmc.net.cn" ], "Path": "{**catch-all}" } }, "blazor": { "ClusterId": "blazor", "Match": { "Hosts": [ "test2.ysmc.net.cn" ], "Path": "{**catch-all}" } } }, "Clusters": { "baidu": { "LoadBalancingPolicy": "RoundRobin", "Destinations": { "baidu": { "Address": "https://www.baidu.com/" } } }, "blazor": { "LoadBalancingPolicy": "RoundRobin", "Destinations": { "blazor": { "Address": "https://www.blazor.zone/" } } } } }
看過(guò)我之前介紹 YARP 的文章的小伙伴可能已經(jīng)發(fā)現(xiàn)了,想要實(shí)現(xiàn) 根據(jù)域名代理轉(zhuǎn)發(fā) 這個(gè)功能,其實(shí)只需要在 Match 節(jié)點(diǎn)中,添加 Hosts 配置即可,是不是非常的簡(jiǎn)單啊!我們看看實(shí)際效果:
并且在控制臺(tái)中,也會(huì)產(chǎn)生相應(yīng)的輸出
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
ASP.NET web.config中 數(shù)據(jù)庫(kù)連接字符串加密解密
本文主要介紹利用aspnet_regiis.exe工具對(duì)web.config中connectionStrings節(jié)點(diǎn)進(jìn)行加密和解密的過(guò)程,希望對(duì)大家有所幫助。2016-05-05.net core webapi jwt 更為清爽的認(rèn)證詳解
這篇文章主要介紹了.net core webapi jwt 更為清爽的認(rèn)證詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05ASP.NET MVC制作404跳轉(zhuǎn)實(shí)例(非302和200)
本篇文章主要介紹了ASP.NET MVC制作404跳轉(zhuǎn)實(shí)例(非302和200) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04設(shè)置ASP.NET頁(yè)面的運(yùn)行超時(shí)時(shí)間詳細(xì)到單個(gè)頁(yè)面及站點(diǎn)
這篇文章主要介紹了如何設(shè)置ASP.NET頁(yè)面的運(yùn)行超時(shí)時(shí)間,包括全局超時(shí)時(shí)間、單個(gè)站點(diǎn)超時(shí)時(shí)間、單個(gè)頁(yè)面請(qǐng)求超時(shí)時(shí)間,需要的朋友可以參考下2014-06-06詳解Asp.Net Core 發(fā)布和部署( MacOS + Linux + Nginx )
這篇文章主要介紹了詳解Asp.Net Core 發(fā)布和部署( MacOS + Linux + Nginx ) ,具有一定的參考價(jià)值,有興趣的可以了解一下。2016-12-12Asp.net獲取服務(wù)器指定文件夾目錄文件并提供下載的方法
這篇文章主要介紹了Asp.net獲取服務(wù)器指定文件夾目錄文件并提供下載的方法,涉及使用http協(xié)議操作文件的技巧,需要的朋友可以參考下2015-01-01asp.net StringBuilder的用法 實(shí)例代碼
StringBuilder實(shí)現(xiàn)的帶數(shù)字的排行榜效果實(shí)現(xiàn)代碼。2009-07-07