文章出處

默認情況下,IIS只能提供http重定向功能,而無法滿足轉發需求。

舉例:http://localhost/app1 利用http重定向到 http://www.abc.com/app1

訪問 http://loalhost/app1/abc.html 最終瀏覽器地址欄里的url會變成http://www.abc.com/app1/abc.html

這就是重定向(類似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 WebLogicHost=localhost
2 WebLogicPort=8080
3 ConnectTimeoutSecs=20
4 ConnectRetrySecs=2
5 Debug=ON
6 WlForwardPath=/app1

解釋一下:

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

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

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

 

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

1 vhost1=localhost:80
2 localhost:80=D:\Website\app1\iisproxy.ini

第1行,表示iis server對應的ip和端口
第2行,指定vhost1對應的配置從D:\Website\app1下的iisproxy.ini讀取

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

 

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

 

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

參考下圖:

 

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

參考下圖:

最后還可以檢查一下

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

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自動生成的,內容為:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <configuration>
3     <system.webServer>
4         <handlers>
5             <add name="weblogic iis proxy" path="*" verb="*" modules="IsapiModule" scriptProcessor="D:\website\app1\iisproxy.dll" resourceType="Unspecified" preCondition="bitness64" />
6         </handlers>
7     </system.webServer>
8 </configuration>

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

這是jboss上的原始應用app1

 

這是經iis轉發后的效果:


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()