中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IIS實現反向代理時如何設置Cookie域

發布時間:2021-06-17 12:43:58 來源:億速云 閱讀:312 作者:小新 欄目:開發技術

這篇文章主要介紹了IIS實現反向代理時如何設置Cookie域,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

反向代理

神馬是反向代理?指以代理服務器來接受Internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給Internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。我們可以通過反向代理實現負載平衡、突破防火墻限制等一些非常實用的Web服務器功能,目前反向代理不管在私有云還是公有云的虛擬機上用的很多很多。

引用

IIS通過URL重寫可以實現反向代理,通過簡單的配置即可以將請求轉發到其它內部站點。

此時被代理的所有站點的cookie的域(domain)會自動設置為提供反向代理功能的站點的域,這一般來說沒有問題。但是在多站點共享cookie時會存在問題。

比如有一個對外的域名 proxy.fireflysoft.net,這個域名指向一個提供反向代理的站點;然后還有一個域名pay.fireflysoft.net,指向一個獨立的IIS站點,提供支付服務;然后proxy.fireflysoft.net/mall 提供商城服務,用戶在這里下單后支付,需要跳轉到pay.fireflysoft.net;

為了在這兩個站點之間實現用戶狀態共享,這里希望他們之間可以共享SessionID,這個值保存在cookie中,所以實際上是期望共享cookie,共享cookie可以通過設置不同站點cookie的域為相同的值來實現。

比如這里希望proxy.fireflysoft.net和pay.fireflysoft.net的cookie域值都為fireflysoft.net,這樣proxy.fireflysoft.net的用戶狀態就可以為pay.fireflysoft.net所使用。但是這面臨上邊提到的反向代理站點cookie域自動設置問題。

關于這個問題,網上可以搜索到的方案大部分都是Nginx的,其實IIS的URL重寫也是支持的,只不過用的人可能比較少,所以查不到什么資料。

這個解決方案是在IIS的論壇上找到的,有人問同樣的問題:https://forums.iis.net/t/1193378.aspx。帖子中并沒有給出直接的答案,而是參考一個使用URL重寫設置cookie HttpOnly的方案:

http://clarify.dovetailsoftware.com/gsherman/2011/01/20/using-the-url-rewrite-module-to-set-your-cookies-to-httponly/

有興趣的可以讀一下原文,下邊將直接給出解決方案。

URL重寫的規則會保存到web.config中,因為設置cookie屬于URL重寫的出站規則,所以直接在出站規則中增加相關配置:

<rewrite>  
<outboundRules>    
<rule name="Add Domain" preCondition="No Domain">
     <match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
     <action type="Rewrite" value="{R:0}; domain=fireflysoft.net" />
     <conditions>
     </conditions>
    </rule>
    <preConditions>
     <preCondition name="No Domain">
      <add input="{RESPONSE_Set_Cookie}" pattern="." />
      <add input="{RESPONSE_Set_Cookie}" pattern="; domain=.*" negate="true" />
     </preCondition>
    </preConditions>
  </outboundRules>
 </rewrite>

代碼中包含兩部分:

首先是前提條件preConditions:針對響應時設置cookie,且沒有設置cookie domain的情況;

然后是處理規則rule:針對響應時設置的cookie,重寫cookie,增加domain的設置。

這樣cookie domain即設置為目標值,從而實現cookie在二級域名之間的共享。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“IIS實現反向代理時如何設置Cookie域”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

弋阳县| 莫力| 玛沁县| 宿松县| 公安县| 会泽县| 北碚区| 周至县| 北海市| 舒兰市| 二手房| 从江县| 黑水县| 大丰市| 温宿县| 开化县| 碌曲县| 莆田市| 天峻县| 临桂县| 融水| 华安县| 西乌| 徐州市| 江门市| 彭山县| 英超| 马鞍山市| 利川市| 东乌| 洱源县| 林西县| 河间市| 木兰县| 禹州市| 高阳县| 株洲市| 聊城市| 和政县| 神农架林区| 满洲里市|