利用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的文件,内容参考下面:
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转发的更多相关文章
- 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包
因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是 ...
- 利用Object.defineProperty 简化 Chrome插件本地存储操作
通常谷歌插件本地存储写法很别扭☹,如 chrome.storage.sync.get(null,function(data){ //todo console.log(data); }); 如果get ...
- 利用mybatis的Generator的插件生成代码
1 在resources文件夹下创建generatorConfig.xml文件来做相关配置 <?xml version="1.0" encoding="UTF-8& ...
- 利用maven的MyBatis Generator 插件自动创建代码
1.首先创建Maven工程 2.修改pom.xml文件代码如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- 利用enum4linux 445端口+wordpress插件任意文件上传的一次渗透
探测内网80端口发现目标IP 目标使用Apache 2.4.7web服务中间件 使用linux Ubuntu系统 使用御剑扫描了目录 目录扫描到了 http://192.168.31.236/ ...
- fullPage.js插件用法(转发)
fullPage.js主要功能有: 支持鼠标滚动 支持前进后退和键盘控制 多个回调函数 支持手机.平板触摸事件 支持 CSS3 动画 支持窗口缩放 窗口缩放时自动调整 可设置滚动宽度.背景颜色.滚动速 ...
- IIS转发需要的模块
1.Application Request Routing https://www.iis.net/downloads/microsoft/application-request-routing 2 ...
- 利用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 ...
- 如何利用jenkins插件查看allure报告-----完整篇(解决404和无数据问题)
背景: python3+appium+pytest+allure写了安卓的自动化脚本,在windows本机pycharm上跑通过后生成了allure报告. 公司jenkins搭建在linux服务器上 ...
随机推荐
- 学习 HTML5-页面结构(1)
缘起 2014年10月29日,万维网联盟宣布,经过几乎8年的艰辛努力,HTML5标准规范终于最终制定完成了,并已公开发布. 而HTML5的草稿版本在13年就已经放出.作为一个有追求的程序猿这次想赶一次 ...
- 微信网站设置右上角发送、分享的内容——.net版本
一.首先了解本文要解决的问题: 公司前一段开发了移动网站,老板喜欢通过微信看,然后把看到的东西通过右上角的按钮分享出来,但老板发现分享出来的东西,没有指定的图片,没有描述:所以我就得老老实实干活了.. ...
- C#语言基础——结构体和枚举类型
结构体和枚举类型 一.结构体(struct) 结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要 ...
- SQL Server:数据库角色
除了上述固定数据库角色之外,还有一种特殊的固定数据库角色,名为public. 数据库的每个合法用户都必须属于public角色,它为数据库中的用户提供了所有默认权限. 一般情况下,public角色允许用 ...
- jQuery简单入门(三)
3.事件和动画 A. 事件 Aa. DOM加载 1.为什么使用jQuery加载DOM方法? 以javascript的window.onload()方法加载DOM的先决条件是:必须等待被请求页面的资源全 ...
- 烂泥:puppet3.7安装与配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关服务器的自动化管理,这方面以前没有接触过.打算这段时间把这块知识给补上. 现在服务器自动化管理软件,使用最多也最火的就是puppet了. 那么我们今 ...
- Idea15/16 配置Tomcat
1:我这里使用的是Eclipse创建的项目,导出后导入到Idea中使用 2:Idea导入Eclipse项目 3:Idea项目配置(默认快捷键CTRL+SHIT+ALT+S) 3.1 Project 项 ...
- 虚拟机centos6.5 --开放端口
系统:centos6.5 1.查看端口开放情况 /etc/init.d/iptables status 2.开启端口 /sbin/iptables -I INPUT -p tcp --dport -j ...
- JavaScript实现简单的双向绑定
很多的前端框架都支持数据双向绑定了,最近正好在看双向绑定的实现,就用Javascript写了几个简单的例子. 几个例子中尝试使用了下面的方式实现双向绑定: 发布/订阅模式 属性劫持 脏数据检测 发布/ ...
- WPF之全局快捷键
目录 1.WPF快捷键实现方式 2.全局快捷键设置界面 3.Windows API调用 4.注册全局快捷键 5.快捷键触发 WPF快捷键实现方式 WPF快捷键实现主要有自定义快捷键命令和全局快捷键两种 ...