.NET使用YARP根據域名轉發實現反向代理
前段時間發布過一個關于 YARP 的簡單介紹,感興趣的小伙伴恭請移步看看.NET反向代理組件YARP介紹
作為反向代理,必不可少的當然是根據域名代理轉發啦,毫無疑問,YARP 是支持通過域名代理轉發的,本文將介紹如何在配置文件中進行域名的配置
首先,你得有一個域名,本地測試的話可以修改 host 文件,達到假裝自己有域名的效果【手動狗頭】,有些小伙伴可能不知道怎么設置域名、和怎么修改 host 文件,下面我簡單說一下:
域名服務商
筆者手上只有一個域名,而且是華為云的,所以就拿華為云的作為介紹啦,其他的域名服務上都大同小異:
1、登錄進入到 華為云-控制臺,并展開左上角菜單,搜索 “域名”,點擊進入到 “云解析服務 DNS”
2、點擊 “公網域名”,然后找到需要進行解析的域名的對應操作欄,點擊 “管理解析”
3、進入到 “管理解析” 頁面后,點擊右上角的 “添加記錄集”,即可進行域名解析配置
配置說明:
主機記錄:簡單來說就是創建一個前綴,用于區分這個域名是干嘛的,例如我可以創建一個 test.ysmc.net.cn,表示我這個域名是用于測試的,我這么說只是為了方便理解,還是建議大家去查查正確的解析;
類型:A-將域名指向IPv4地址;
值:就是你要指向的具體IP是多少了,因為是測試用,這里直接指向了本地地址127.0.0.1;
至于其它的默認就好,需要注意的是,設置完后并非是立馬起效果的,畢竟是需要更新緩存的,所以沒生效不要緊
本地 hosts 文件
對于沒有域名的小伙伴來說,可以通過修改本地 houst 文件,以達到同樣擁有域名的狀態,而且還不受限制,想起什么名字就什么名字,非常的 nice;
1、Win+R 打開 “運行” 對話框,輸入 hosts文件所在目錄路徑:C:\WINDOWS\system32\drivers\etc ,當然,你也可以按照著路徑,一個一個打開,找到 hosts 文件后,右鍵編輯就OK了
這里也有一點需要注意的,修改完成后,如果瀏覽器是處于打開狀態,請關掉重新啟動,不然是不會重新加載 hosts 文件的,切記切記!
我們分別創建兩個域名解析,test1.ysmc.net.cn test2.ysmc.net.cn,然后開始我們今天的主題吧!
直接上配置文件
"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/"} } } }}
看過我之前介紹 YARP 的文章的小伙伴可能已經發現了,想要實現 根據域名代理轉發 這個功能,其實只需要在 Match 節點中,添加 Hosts 配置即可,是不是非常的簡單啊!我們看看實際效果:
并且在控制臺中,也會產生相應的輸出
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章:
1. ASP.NET泛型三之使用協變和逆變實現類型轉換2. .net6 在中標麒麟下的安裝和部署過程3. .net core利用PdfSharpCore操作PDF實例教程4. .NET SkiaSharp 生成二維碼驗證碼及指定區域截取方法實現5. .Net Core和RabbitMQ限制循環消費的方法6. ASP.NET MVC視圖頁使用jQuery傳遞異步數據的幾種方式詳解7. .NET使用YARP通過編碼方式配置域名轉發實現反向代理8. .NET6打包部署到Windows Service的全過程9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析10. ASP.NET MVC使用異步Action的方法