天天看點

利用Weblogic的iisproxy、iisforward插件實作IIS轉發

預設情況下,IIS隻能提供http重定向功能,而無法滿足轉發需求。

這就是重定向(類似jsp中的SendRedirect),如果浏覽器位址欄不變,那才叫轉發(類似jsp中的forward)。

通常weblogic/jboss應用,前端都是通過apache來轉發的,但利用weblogic提供的插件,IIS也能實作類似的功能

weblogic安裝目錄下X:\Oracle\Middleware\wlserver_10.3\server\plugin\win\x64 下有2個檔案:iisforward.dll、iisproxy.dll,通過它可以讓IIS實作轉發。 

步驟:

1、在指定位置建立站點根目錄,比如:D:\website\ ,并将iisforward.dll複制到此

2、根目錄下,再建立子應用目錄,比如app1,即:D:\website\app1,然後将iisproxy.dll複制一份到該目錄,建立一個名為iisproxy.ini的檔案,内容參考下面:

解釋一下:

第1行,表示weblogic(或jboss)等其它webserver的IP位址

第2行,表示weblogic(或jboss)等其它webserver的端口

第6行,表示weblogic(或jboss)等其它webserver上對應的app的contextPath

3、在D:\website\下,建立一個iisforward.ini,内容參考下面:

第1行,表示iis server對應的ip和端口

第2行,指定vhost1對應的配置從D:\Website\app1下的iisproxy.ini讀取

如果有多個虛拟主機,參考這個結構再繼續添加即可

4.在IIS中,添加應用程式集app1,同時在要轉發的站點下,添加應用程式app1

利用Weblogic的iisproxy、iisforward插件實作IIS轉發

5.在要代理的站點上,添加"ISAPI篩選器"

利用Weblogic的iisproxy、iisforward插件實作IIS轉發

參考下圖:

利用Weblogic的iisproxy、iisforward插件實作IIS轉發

6.在應用app1上,添加"處理程式映射"

利用Weblogic的iisproxy、iisforward插件實作IIS轉發
利用Weblogic的iisproxy、iisforward插件實作IIS轉發

最後還可以檢查一下

利用Weblogic的iisproxy、iisforward插件實作IIS轉發

正常的話,應該可以看到剛才添加的處理程式,狀态為允許,如果狀态不是允許,請手動調整為允許狀态

利用Weblogic的iisproxy、iisforward插件實作IIS轉發

7、iisreset /restart 重新開機IIS

打完收工!

附目錄結構:

D:\Website\

│  iisforward.dll

│  iisforward.ini

├─app1

│      iisproxy.dll

│      iisproxy.ini

│      web.config

└─app2

        iisproxy.dll

        iisproxy.ini

        web.config

注:web.config 是添加完映射處理程式後,iis自動生成的,内容為:

一切順利的話,就能看到效果了:

這是jboss上的原始應用app1

利用Weblogic的iisproxy、iisforward插件實作IIS轉發

這是經iis轉發後的效果:

利用Weblogic的iisproxy、iisforward插件實作IIS轉發