默认情况下,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的文件,内容参考下面:

 WebLogicHost=localhost
WebLogicPort=8080
ConnectTimeoutSecs=20
ConnectRetrySecs=2
Debug=ON
WlForwardPath=/app1

解释一下:

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

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

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

3、在D:\website\下,新建一个iisforward.ini,内容参考下面:

 vhost1=localhost:80
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自动生成的,内容为:

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

一切顺利的话,就能看到效果了:

这是jboss上的原始应用app1

这是经iis转发后的效果:

利用Weblogic的iisproxy、iisforward插件实现IIS转发的更多相关文章

  1. 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包

    因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是 ...

  2. 利用Object.defineProperty 简化 Chrome插件本地存储操作

    通常谷歌插件本地存储写法很别扭☹,如 chrome.storage.sync.get(null,function(data){ //todo console.log(data); });  如果get ...

  3. 利用mybatis的Generator的插件生成代码

    1 在resources文件夹下创建generatorConfig.xml文件来做相关配置 <?xml version="1.0" encoding="UTF-8& ...

  4. 利用maven的MyBatis Generator 插件自动创建代码

    1.首先创建Maven工程 2.修改pom.xml文件代码如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...

  5. 利用enum4linux 445端口+wordpress插件任意文件上传的一次渗透

    探测内网80端口发现目标IP 目标使用Apache  2.4.7web服务中间件 使用linux    Ubuntu系统 使用御剑扫描了目录 目录扫描到了 http://192.168.31.236/ ...

  6. fullPage.js插件用法(转发)

    fullPage.js主要功能有: 支持鼠标滚动 支持前进后退和键盘控制 多个回调函数 支持手机.平板触摸事件 支持 CSS3 动画 支持窗口缩放 窗口缩放时自动调整 可设置滚动宽度.背景颜色.滚动速 ...

  7. IIS转发需要的模块

    1.Application Request Routing https://www.iis.net/downloads/microsoft/application-request-routing  2 ...

  8. 利用iptables将本地的80端口请求转发到8080,当前主机ip为192.168.1.1,命令怎么写?

    iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j REDIRECT --to-port 8080 内网上外网: ipt ...

  9. 如何利用jenkins插件查看allure报告-----完整篇(解决404和无数据问题)

    背景: python3+appium+pytest+allure写了安卓的自动化脚本,在windows本机pycharm上跑通过后生成了allure报告.  公司jenkins搭建在linux服务器上 ...

随机推荐

  1. Git的常用操作,记录下

    首先生成密钥 ssh-keygen -t rsa -C "your_email@youremail.com" 然后打开workdir,敲 git init 设置一个远端库 git ...

  2. 记录Sqlserver2012附加Sqlserver2008的数据库出错的解决方案

    一.摘要 最近在实验里面用台式编写好了一个软件,想移植到家里的笔记本上.在附加数据的时候却出现了错误,具体也没有提示什么错误,反正就是附加失败了. 二.解决方案 在网上看了一些资料,有的说[低版本不能 ...

  3. Java api 入门教程 之 JAVA的包装类

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...

  4. 烂泥:CentOS命令学习之scp复制

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 由于工作需要,需要把服务器A上的文件弄一份到服务器B上.自己比较懒不打算搭建FTP.Samba服务器,所以就打算使用scp命令,scp命令是通过ssh协 ...

  5. Windows批处理:自动检查服务器连通性

    该技术与上一篇<自动检查网络连通性>的实现原理相同,我将脚本稍微改动了下,用于检查公司服务器的连通性,简单快捷.在这里附上修改方法. @echo off color 1F title 服务 ...

  6. Ubuntu14.04桌面版基本配置

    最近公司需要用Ubuntu测试一些功能,安装好后绚丽的桌面环境很是吸引人,但切换到字符界面后,发现不少地方与RHEL不一样,连ssh.vim都没有,字符界面玩得不开心. 搜了不少文章,才将基本的功能配 ...

  7. 带有天气预报的高大上web报表制作分享

    我用FineReport开发了挺多报表,但集成天气预报这样提高交互和人性化的还是第一次,所以跟大家分享下. 这个报表是综合的门店销售管理分析面板,可以查询业绩分析.店员销售分析,店铺排行分析(可以看出 ...

  8. Windows 10 L2TP 809错误

    今天不知道为什么,一直工作正常的L2TP不能连接了.我用的是Surface Pro 3,Windows 10 专业版,操作系统一直保持自动更新,而且最近也没有安装什么软件.点击连接后,等一段时间就报8 ...

  9. js生成[n,m]的随机数

    一.预备知识 Math.ceil();  //向上取整. Math.floor();  //向下取整. Math.round();  //四舍五入. Math.random();  //0.0 ~ 1 ...

  10. python curses使用

    python 中curses封装了c语言的curses,把c中复杂部分简单化,比如addstr(),mvaddstr(),mvwaddstr()合并成了一个addstr()方法. 一.语法入门 1.打 ...