利用Weblogic的iisproxy、iisforward插件实现IIS转发

默认情况下,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转发后的效果:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏V站

WIN7系统如何在本地(局域网)配置PHP环境?

安装完成后,点击控制面板->管理工具->Internet Information Services (IIS)管理器(注意不是那个什么6.0的)

46970
来自专栏跟着阿笨一起玩NET

WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法

本文转载:http://www.cnblogs.com/shenba/archive/2012/01/06/2313932.html

19910
来自专栏磨磨谈

查看ceph集群被哪些客户端连接

我们在使用集群的时候,一般来说比较关注的是后台的集群的状态,但是在做一些更人性化的管理功能的时候,就需要考虑到更多的细节

18730
来自专栏LanceToBigData

KVM+Qemu+Libvirt实战

上一篇的文章是为了给这一篇文件提供理论的基础,在这篇文章中我将带大家一起来实现在linux中虚拟出ubuntu的server版来 我们需要用KVM+Qemu+L...

50570
来自专栏用户画像

windows 安装mongo数据库&注册mongo服务

https://www.mongodb.com/download-center?jmp=nav#community

10810
来自专栏腾讯云容器服务团队的专栏

使用腾讯云容器服务搭建 ELK 日志系统

目前主流的分布式日志系统有ELK,flume,fluentd,splunk等,本文利用腾讯云容器服务搭建ELK系统收集nginx的访问日志 ,搭建过程中共搭建4...

2.4K30
来自专栏腾讯云容器服务团队的专栏

容器健康检查详解

容器集群内核基于 kubernetes ,kubernetes 支持对容器进行周期性的探测,根据探测结果来决定判断容器的健康状态,并执行额外的操作。当我们创建服...

77400
来自专栏葡萄城控件技术团队

如何在 IIS 上搭建 mercurial server

mercurial server 对于代码管理工具,更多的人可能更熟悉 Git 一些(Git 太火了)。其实另外一款分布式代码管理工具也被广泛的使用,它就是 m...

24470
来自专栏java闲聊

Centos7下JDK、mysql与tomcat环境配置

docker run -it --name tanoak-mysql -p 3308:3306 -v /my/custom:/etc/mysql/conf...

27820
来自专栏技术支持log

linux操作系统无损升级文件系统ext3至ext4--系统盘篇

linux操作系统无损升级文件系统ext3至ext4: 这里我们以CentOS7.0操作系统来作为示例升级系统盘文件系统: 附:linux操作系统无损升级文...

47110

扫码关注云+社区

领取腾讯云代金券