利用Weblogic的iisproxy、iisforward外掛程式實現IIS轉寄

來源:互聯網
上載者:User

標籤:style   blog   http   color   os   strong   檔案   io   

預設情況下,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=localhost2 WebLogicPort=80803 ConnectTimeoutSecs=204 ConnectRetrySecs=25 Debug=ON6 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:802 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轉寄後的效果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.