asp.net 无法获取客户端请求的真实协议https
生活随笔
收集整理的這篇文章主要介紹了
asp.net 无法获取客户端请求的真实协议https
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題:
a) 客戶端請求的是https,但服務(wù)端Request.Url獲取的卻是http;
b) 負載均衡連接協(xié)議服務(wù)端與客戶端協(xié)議不一致。
?
有時候我們需要獲取或拼接連接,但是可能會出現(xiàn)客戶端使用https請求但我們獲取的確是http的情況,這個時就無法訪問拼接出來的http連接。
?
這通常是由于服務(wù)器使用負載均衡造成客戶請求使用的協(xié)議與服務(wù)端接收的協(xié)議不一致。
?
解決辦法:
通過判斷Request.ServerVariable["SERVER_PROTOCOL"] 是否等于HTTP/1.0來確定客戶端真實請求的協(xié)議。
string appUrl = Page.Request.Url.AbsoluteUri; if (Page.Request.ServerVariables["SERVER_PROTOCOL"] == "HTTP/1.0" && appUrl.StartsWith("http:", StringComparison.OrdinalIgnoreCase))appUrl = "https:" + appUrl.Substring(5);?
轉(zhuǎn)載于:https://www.cnblogs.com/RedSky/p/7772300.html
總結(jié)
以上是生活随笔為你收集整理的asp.net 无法获取客户端请求的真实协议https的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC Controller
- 下一篇: 程序通过定义学生结构体变量,存储学生的学