2016-03-01 327 views
0

我知道如何使用URL重寫與應用程序請求路由相結合來配置IIS,以便在一臺機器上的不同端口上運行的不同服務之間共享URL。或者更確切地說,我經常在調整一下之後纔開始工作。然而,我不是很瞭解,也無法解釋爲什麼它會這樣。例如,我不明白爲什麼除了重寫之外還需要ARR。瞭解iis使用ARR和Url重寫的路由

我無法在處理程序列表中找到ARR或Rewrite,但我猜他們在更高級別(在到達任何處理程序之前)掛鉤。 ARR僅在根級別可用,而重寫也可以在站點節點上完成,所以我假定ARR是第一個接收請求的?

我確實找到了很多關於如何設置它的資源,但沒有解釋它是如何工作的或者爲什麼工作的。有人可以解釋流程嗎?哪個模塊(重寫或ARR)首先獲取請求,以及它如何通過系統流動?什麼時候會單獨使用這些模塊中的一個?

回答

0

正如ARR的首字母縮寫所表明的那樣,它全部是關於路由請求的。通常情況下,您可以將ARR服務器作爲所有進入貴公司的請求的第一個入口點。然後,ARR將重定向或將它們路由到正確的服務器場。爲了應用這種邏輯,ARR提供正則表達式的使用,反向引用,還可以使用條件,所有這些都是按規則構建的。

在我看來,這是一個更強大的系統開發來處理這種大規模的環境。重寫模塊 - 我認爲 - 更簡單,只有ARR中所有我們能做的一個子集;目標可能不一樣。

我希望它有幫助。至少這是我從我自己的ARR經驗中看到的,主要是。

+0

ARR依賴於URL重寫,所以你是正確的,重寫是一個子集。我正在尋找的是一個管道模式或插圖,明確了它們之間的關係以及請求如何通過層。 ARR可以在前面,(pugin)之間,之後或之下(託管)Rewrite實施。一個請求甚至可以在不同OSI層(SSL卸載)的三個(包括IIS)之間來回切換。 [docs](http://www.iis.net/learn/extensions/configuring-application-request-routing-arr)中有許多插圖用於特定場景,但沒有任何解釋流程的內容。 –